Function at 0x406030
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
cmp dword [0x4745f0], 0
jne 0x406d5d
mov al, byte [0x470120]
xor al, 0x19
mov byte [0x470140], al
mov cl, byte [0x470121]
mov al, cl
xor al, 0xff
mov dl, cl
and dl, dl
xor dl, 0xff
and dl, 0xff
xor dl, 0xff
and dl, 0xff
xor dl, 0xff
or al, dl
and al, 0xbd
xor al, 0xff
mov dl, cl
add dl, 1
xor cl, 0xff
or cl, 0x42
add cl, dl
mov dl, cl
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
sub cl, dl
mov dl, al
add dl, 1
xor al, 0xff
or al, cl
add al, dl
mov cl, al
xor cl, 0xff
xor al, 0xff
and cl, al
xor cl, 0xff
and cl, 0xff
xor cl, 0xff
and cl, 0xff
mov byte [0x470141], cl
mov al, byte [0x470122]
mov cl, al
xor cl, 0xff
mov ah, al
xor ah, 0xff
mov dl, cl
and dl, 0x30
mov ch, al
and ch, 0xcf
mov dh, ah
and dh, 0x30
mov bl, al
and bl, 0xcf
or dl, ch
or dh, bl
xor dl, dh
or cl, ah
xor cl, 0xff
and cl, 0xff
or dl, cl
xor dl, 0xff
mov cl, dl
and cl, 0xbd
xor dl, 0xbd
or cl, dl
and cl, cl
xor cl, 0xff
xor cl, 0xff
or cl, 0
xor cl, 0xff
or cl, 0
mov dl, al
or dl, 0x42
xor dl, 0xff
or al, 0x42
xor al, 0xff
xor dl, 0xff
xor al, 0xff
and dl, al
mov al, dl
xor al, 0xff
xor dl, 0xff
and al, dl
or al, 0
xor al, 0xff
xor al, 0xff
and al, 0xff
mov dl, cl
and dl, 0xff
shl dl, 1
add cl, 0xff
sub cl, dl
xor al, 0xff
and cl, al
mov byte [0x470142], cl
mov al, byte [0x470123]
mov cl, al
xor cl, 0xff
and cl, 0xed
and al, 0x12
or cl, al
xor cl, 0x44
mov byte [0x470143], cl
mov cl, byte [0x470124]
mov al, cl
xor al, 0xff
mov dl, cl
xor dl, 0xff
and al, dl
xor al, 0xff
and al, 0xff
xor al, 0xff
and al, 0xff
xor al, 0xff
xor al, 0x1e
and al, 0x1e
mov dl, cl
xor dl, 0x1e
and dl, cl
or al, dl
mov cl, al
and cl, 0xbf
shl cl, 1
add al, 0xbf
sub al, cl
mov byte [0x470144], al
mov al, byte [0x470125]
xor al, 0x50
mov byte [0x470145], al
mov al, byte [0x470126]
mov cl, al
and cl, 0xe3
shl cl, 1
add al, 0xe3
sub al, cl
mov byte [0x470146], al
mov al, byte [0x470127]
xor al, 0x1f
mov byte [0x470147], al
mov al, byte [0x470128]
xor al, 0xfc
mov byte [0x470148], al
mov cl, byte [0x470129]
mov al, cl
and al, al
xor al, 0xff
and al, 0xff
xor al, 0xff
xor al, 0xff
or al, 0
and al, 0xb1
mov dl, cl
xor dl, 0x4e
xor dl, 0xff
or cl, 0x4e
and cl, dl
or al, cl
mov cl, al
xor cl, 0xff
and cl, 0x45
and al, 0xba
or cl, al
mov byte [0x470149], cl
mov al, byte [0x47012a]
xor al, 0x9e
mov byte [0x47014a], al
mov al, byte [0x47012b]
xor al, 0x6a
mov byte [0x47014b], al
mov al, byte [0x47012c]
mov cl, al
and cl, 0x7c
shl cl, 1
add al, 0x7c
sub al, cl
mov byte [0x47014c], al
mov al, byte [0x47012d]
xor al, 0x6d
mov byte [0x47014d], al
mov al, byte [0x47012e]
mov cl, al
add cl, 1
mov dl, al
xor dl, 0xff
or dl, 0x9c
add dl, cl
shl dl, 1
add al, 0x37
add al, 0x9c
sub al, 0x37
sub al, dl
mov byte [0x47014e], al
mov al, byte [0x47012f]
xor al, 0xd
mov byte [0x47014f], al
mov al, byte [0x470130]
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
or cl, dl
xor cl, 0xff
and cl, 0xff
xor cl, 0xff
and cl, 0xe4
mov dl, cl
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
sub cl, dl
mov dl, al
xor dl, 0x1b
xor dl, 0xff
or al, 0x1b
and al, dl
xor al, 0xff
and al, 0xff
or al, 0
mov dl, cl
xor dl, 0xff
xor cl, 0xff
or dl, cl
xor dl, 0xff
or dl, 0
xor dl, 0xff
or dl, 0
mov cl, al
and cl, 0xff
shl cl, 1
add al, 0xff
sub al, cl
or dl, al
mov byte [0x470150], dl
mov al, byte [0x470151]
mov cl, al
or cl, cl
xor cl, 0xff
xor cl, 0xff
and cl, 0xc0
or al, 0xc0
xor al, 0xff
xor cl, 0xff
xor al, 0xff
and cl, al
mov byte [0x47015d], cl
mov al, byte [0x470152]
mov cl, al
or cl, cl
xor cl, 0xff
xor cl, 0xff
and cl, 0x41
or al, 0x41
xor al, 0xff
xor cl, 0xff
xor al, 0xff
and cl, al
mov byte [0x47015e], cl
mov al, byte [0x470153]
mov cl, al
xor cl, 0x82
xor cl, 0xff
mov dl, al
or dl, 0x82
and dl, cl
shl dl, 1
add al, 0x82
sub al, dl
mov byte [0x47015f], al
mov al, byte [0x470154]
xor al, 0x41
mov byte [0x470160], al
mov al, byte [0x470155]
xor al, 0x62
mov byte [0x470161], al
mov al, byte [0x470156]
xor al, 0xd6
mov byte [0x470162], al
mov al, byte [0x470157]
xor al, 0x67
mov byte [0x470163], al
mov al, byte [0x470158]
xor al, 0x46
mov byte [0x470164], al
mov cl, byte [0x470159]
mov al, cl
xor al, 0xff
and al, 0xc7
and cl, 0x38
and al, al
xor al, 0xff
and cl, cl
xor cl, 0xff
and al, cl
xor al, 0xff
mov byte [0x470165], al
mov al, byte [0x47015a]
xor al, 0x10
mov byte [0x470166], al
mov al, byte [0x47015b]
mov cl, al
or cl, cl
xor cl, 0xff
or cl, 0x6f
xor cl, 0xff
or al, 0x90
xor al, 0xff
xor cl, 0xff
xor al, 0xff
and cl, al
mov byte [0x470167], cl
mov ch, byte [0x47015c]
mov al, ch
and al, 0xda
shl al, 1
mov dl, ch
add dl, 0xda
sub dl, al
xor dl, 0xff
mov cl, dl
and cl, 0xda
xor cl, 0xff
xor dl, 0xff
or dl, 0x25
and cl, dl
xor cl, 0xff
mov dl, cl
and dl, 0xfd
mov al, cl
xor al, 0xff
and al, 2
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
sub al, 0xda
sub ch, al
mov byte [0x470168], ch
mov al, byte [0x4700e0]
mov cl, al
xor cl, 0xff
and cl, 0x42
and al, 0xbd
or cl, al
mov byte [0x470100], cl
mov al, byte [0x4700e1]
mov cl, al
xor cl, 0xe2
xor cl, 0xff
and cl, 0xe2
shl cl, 1
sub cl, 0xe2
sub al, cl
mov byte [0x470101], al
mov al, byte [0x4700e2]
xor al, 0xf5
mov byte [0x470102], al
mov al, byte [0x4700e3]
mov cl, al
and cl, 0x5d
shl cl, 1
sub al, 0xa3
xor edx, edx
sub dl, cl
add al, dl
mov byte [0x470103], al
mov al, byte [0x4700e4]
xor al, 0xc6
mov byte [0x470104], al
mov al, byte [0x4700e5]
xor al, 0xf
mov byte [0x470105], al
mov al, byte [0x4700e6]
mov cl, al
xor cl, 0xff
and cl, 0x71
and al, 0x8e
or cl, al
mov byte [0x470106], cl
mov al, byte [0x4700e7]
mov dl, al
xor dl, 0xff
xor dl, 0xff
or dl, 0xe6
xor dl, 0xff
and dl, 0xff
and al, 0xe6
mov cl, dl
xor cl, 0xff
mov ch, al
xor ch, 0xff
mov ah, cl
and ah, 0xc6
and dl, 0x39
mov dh, ch
and dh, 0xc6
and al, 0x39
or ah, dl
or dh, al
xor ah, dh
or cl, ch
xor cl, 0xff
and cl, 0xff
or ah, cl
xor ah, 0x4d
mov byte [0x470107], ah
mov al, byte [0x4700e8]
mov cl, al
xor cl, 0xff
xor cl, 0xff
or cl, 0xf9
xor cl, 0xff
and cl, 0xff
or al, al
xor al, 0xff
or al, 6
xor al, 0xff
or cl, al
mov byte [0x470108], cl
mov cl, byte [0x4700e9]
mov dl, cl
and dl, dl
xor dl, 0xff
mov al, dl
xor al, 0x22
and al, dl
xor al, 0xff
mov dl, cl
add dl, 1
xor cl, 0xff
or cl, 0x22
add cl, dl
xor cl, 0xff
and al, cl
mov cl, al
xor cl, 0xff
xor cl, 0xff
and cl, 0xff
shl cl, 1
sub cl, 0xff
sub al, cl
mov byte [0x470109], al
mov al, byte [0x4700ea]
xor al, 0x40
mov byte [0x47010a], al
mov ch, byte [0x4700eb]
mov cl, ch
and cl, 0xd8
mov dl, cl
and dl, 0xfd
mov al, cl
xor al, 0xff
and al, 2
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
add ch, 0xd8
mov cl, ch
xor cl, al
xor al, 0xff
and ch, al
shl ch, 1
sub ch, cl
mov byte [0x47010b], ch
mov al, byte [0x4700ec]
xor al, 0x25
mov byte [0x47010c], al
mov al, byte [0x4700ed]
mov dl, al
xor dl, 0xff
mov cl, al
xor cl, 0xff
and cl, 0x5a
mov ah, al
and ah, 0xa5
or cl, ah
xor cl, 0xa5
xor dl, 0xff
xor cl, 0xff
or dl, cl
xor dl, 0xff
and dl, 0xff
mov cl, dl
xor cl, 0xff
and cl, 0x4e
or dl, 0xb1
xor dl, 0xff
xor cl, 0xff
xor dl, 0xff
and cl, dl
or cl, cl
xor cl, 0xff
or cl, 0
xor cl, 0xff
xor cl, 0xff
and cl, 0xff
xor al, 0xff
xor al, 0xff
or al, 0x4e
xor al, 0xff
and al, 0xff
xor cl, 0xff
mov dl, al
xor dl, 0xff
xor al, 0xff
or dl, al
and dl, 0xff
xor dl, 0xff
xor dl, 0xff
or dl, 0
and cl, dl
mov byte [0x47010d], cl
mov al, byte [0x4700ee]
xor al, 0xde
mov byte [0x47010e], al
mov al, byte [0x4700ef]
xor al, 0xae
mov byte [0x47010f], al
mov al, byte [0x4700f0]
xor al, 0xe2
mov byte [0x470110], al
mov al, byte [0x4700f1]
xor al, 0x3f
mov byte [0x470111], al
mov al, byte [0x4700f2]
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
and cl, dl
mov dl, cl
xor dl, 0xff
xor cl, 0xff
and dl, cl
xor dl, 0xff
and dl, 0xff
or dl, 0
xor dl, 0xff
mov cl, dl
xor cl, 0xff
xor dl, 0xff
and cl, dl
xor cl, 0xff
and cl, 0x92
or al, 0x92
xor al, 0xff
mov dl, cl
xor dl, 0xff
and dl, 0x24
and cl, 0xdb
or dl, cl
xor dl, 0xdb
xor al, 0xff
and dl, al
mov byte [0x470112], dl
mov al, byte [0x4700f3]
mov cl, al
and cl, 0xee
shl cl, 1
add al, 0xee
sub al, cl
mov byte [0x470113], al
mov ch, byte [0x4700f4]
mov cl, ch
xor cl, 0xff
or cl, 0xf4
mov al, ch
xor al, 0xff
or al, 0xf4
and cl, al
xor cl, 0xff
mov dl, cl
and dl, 0xfd
mov al, cl
xor al, 0xff
and al, 2
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
add ch, 0xb
mov cl, ch
xor cl, 0xff
and cl, al
xor al, 0xff
and ch, al
sub ch, cl
mov byte [0x470114], ch
mov al, byte [0x4700f5]
xor al, 0x25
mov byte [0x470115], al
mov al, byte [0x4700f6]
mov cl, al
xor cl, 0x53
xor cl, 0xff
and cl, 0x53
shl cl, 1
sub cl, 0x53
add al, 0x33
sub al, cl
sub al, 0x33
mov byte [0x470116], al
mov al, byte [0x4700f7]
mov cl, al
and cl, 0x7a
shl cl, 1
add al, 0x7a
sub al, cl
mov byte [0x470117], al
mov al, byte [0x4700f8]
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
and dl, 0xff
or dl, 0
or cl, dl
mov dl, cl
xor dl, 0x2f
xor dl, 0xff
or cl, 0x2f
and cl, dl
xor cl, 0xff
mov dl, al
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
sub al, dl
or al, 0x2f
or cl, cl
xor cl, 0xff
xor cl, 0xff
and cl, 0xff
xor cl, 0xff
and cl, 0xff
xor al, 0xff
or cl, al
mov byte [0x470118], cl
mov al, byte [0x4700b8]
mov cl, al
and cl, cl
xor cl, 0xff
and cl, 0x12
mov dl, cl
and dl, 0xff
shl dl, 1
add cl, 0xff
sub cl, dl
mov dl, al
xor dl, 0xff
xor dl, 0xff
and dl, 0xff
shl dl, 1
sub dl, 0xff
sub al, dl
mov dl, al
and dl, 0xed
mov ah, al
xor ah, 0x12
add al, ah
sub al, dl
mov dl, cl
xor dl, 0xff
xor cl, 0xff
or dl, cl
and dl, 0xff
xor dl, 0xff
xor dl, 0xff
or dl, 0
xor al, 0xff
or dl, al
mov byte [0x4700c7], dl
mov al, byte [0x4700b9]
xor al, 0x38
mov byte [0x4700c8], al
mov al, byte [0x4700ba]
xor al, 0xb7
mov byte [0x4700c9], al
mov al, byte [0x4700bb]
xor al, 0xf2
mov byte [0x4700ca], al
mov al, byte [0x4700bc]
xor al, 0x4d
mov byte [0x4700cb], al
mov al, byte [0x4700bd]
xor al, 0x4e
mov byte [0x4700cc], al
mov cl, byte [0x4700be]
mov al, cl
xor al, 0xff
mov dl, cl
xor dl, 0xff
or al, dl
xor al, 0xff
or al, 0x1e
and cl, 0x1e
xor cl, 0xff
and al, cl
xor al, 0xff
mov byte [0x4700cd], al
mov al, byte [0x4700bf]
xor al, 0x10
mov byte [0x4700ce], al
mov al, byte [0x4700c0]
mov dl, al
xor dl, 0x39
xor dl, 0xff
mov cl, dl
and cl, 0x39
xor cl, 0xff
and dl, 0x39
xor dl, 0xff
xor cl, 0xff
xor dl, 0xff
or cl, dl
shl cl, 1
sub cl, 0x39
xor edx, edx
sub dl, cl
add al, dl
mov byte [0x4700cf], al
mov cl, byte [0x4700c1]
mov al, cl
or al, al
xor al, 0xff
or al, al
xor al, 0xff
xor al, 0xff
and al, 0xff
xor al, 0xff
and al, 0xff
mov dl, al
xor dl, 0xd9
xor dl, 0xff
or al, 0xd9
and al, dl
mov dl, cl
and dl, 0xd9
xor dl, 0xff
add cl, 0xd9
add cl, 1
add cl, dl
mov dl, cl
xor dl, 0xff
and dl, 0xbc
and cl, 0x43
or dl, cl
xor dl, 0x43
mov cl, al
and cl, dl
xor al, dl
or cl, al
mov al, cl
xor al, 0xff
xor al, 0xff
and al, 0xff
shl al, 1
sub al, 0xff
sub cl, al
mov byte [0x4700d0], cl
mov al, byte [0x4700c2]
xor al, 0xa2
mov byte [0x4700d1], al
mov al, byte [0x4700c3]
xor al, 0xe1
mov byte [0x4700d2], al
mov al, byte [0x4700c4]
mov cl, al
xor cl, 0xff
and cl, 0x5d
and al, 0xa2
or cl, al
mov byte [0x4700d3], cl
mov al, byte [0x4700c5]
mov cl, al
and cl, cl
xor cl, 0xff
and cl, 0x39
xor cl, 0xff
xor al, 0xff
or al, 0x39
and cl, al
xor cl, 0xff
mov byte [0x4700d4], cl
mov dl, byte [0x4700c6]
mov al, dl
xor al, 0xff
mov cl, al
xor cl, 0xbf
xor cl, 0xff
or al, 0xbf
and al, cl
mov cl, dl
and cl, 0x40
xor cl, 0xff
and dl, 0x40
xor dl, 0xff
and cl, dl
xor cl, 0xff
and al, al
xor al, 0xff
and cl, cl
xor cl, 0xff
xor al, 0xff
xor cl, 0xff
or al, cl
mov byte [0x4700d5], al
mov al, byte [0x470080]
xor al, 0x6f
mov byte [0x470090], al
mov ch, byte [0x470081]
mov cl, ch
and cl, 0x62
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
add ch, 0x62
sub ch, al
mov byte [0x470091], ch
mov cl, byte [0x470082]
mov al, cl
xor al, 0xff
and al, 0x91
mov dl, cl
xor dl, 0xff
xor cl, 0xff
and dl, cl
xor dl, 0xff
and dl, 0x6e
or al, dl
xor al, 0xfd
mov byte [0x470092], al
mov al, byte [0x470083]
xor al, 0x97
mov byte [0x470093], al
mov cl, byte [0x470084]
mov dl, cl
and dl, 0xff
shl dl, 1
mov al, cl
add al, 0xff
sub al, dl
mov dl, cl
or dl, dl
xor dl, 0xff
or dl, 0
xor dl, 0xff
or dl, 0
xor dl, 0xff
or al, dl
xor al, 0xff
or al, 0x1b
xor cl, 0xff
mov dl, cl
xor dl, 0xff
xor cl, 0xff
or dl, cl
xor dl, 0xff
or dl, 0xe4
and al, dl
xor al, 0xff
mov byte [0x470094], al
mov al, byte [0x470085]
mov cl, al
and cl, 0x6d
shl cl, 1
add al, 0x6d
sub al, cl
mov byte [0x470095], al
mov al, byte [0x470086]
mov cl, al
or cl, cl
xor cl, 0xff
or cl, 0x23
xor cl, 0xff
or al, 0xdc
xor al, 0xff
or cl, al
xor cl, 0xff
mov byte [0x470096], cl
mov al, byte [0x470087]
mov cl, al
xor cl, 0xbe
xor cl, 0xff
and cl, 0xbe
shl cl, 1
sub cl, 0xbe
sub al, cl
mov byte [0x470097], al
mov al, byte [0x470088]
mov cl, al
xor cl, 0x49
xor cl, 0xff
and cl, 0x49
shl cl, 1
sub cl, 0x49
sub al, cl
mov byte [0x470098], al
mov al, byte [0x470089]
mov cl, al
and cl, 0x36
shl cl, 1
add al, 0x36
sub al, cl
mov byte [0x470099], al
mov ch, byte [0x47008a]
mov cl, ch
xor cl, 0xff
or cl, 0xaa
xor cl, 0xff
and cl, 0xff
mov al, cl
xor al, 0xff
mov dl, al
and dl, 2
or al, 2
xor al, 0xff
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
sub ch, 0x2d
add ch, 0x55
add ch, 0x2d
sub ch, al
mov byte [0x47009a], ch
mov al, byte [0x47008b]
mov cl, al
and cl, 0x82
shl cl, 1
add al, 0x82
sub al, cl
mov byte [0x47009b], al
mov cl, byte [0x47008c]
mov dl, cl
and dl, 0xff
shl dl, 1
mov al, cl
add al, 0xff
sub al, dl
mov dl, cl
xor dl, 0xff
and al, dl
xor al, 0xff
mov dl, al
xor dl, 0x7f
xor dl, 0xff
or al, 0x7f
and al, dl
mov dl, cl
and dl, 0x7f
xor cl, 0x7f
or dl, cl
mov cl, dl
and cl, 0xff
shl cl, 1
add dl, 0xff
sub dl, cl
xor al, 0xff
and al, 0xff
or al, 0
xor dl, 0xff
and al, dl
mov byte [0x47009c], al
mov al, byte [0x47008d]
xor al, 0x81
mov byte [0x47009d], al
mov al, byte [0x47008e]
mov cl, al
xor cl, 0xff
and cl, 0x5e
and al, 0xa1
or cl, al
mov al, cl
and al, 0xdd
shl al, 1
add cl, 0xdd
sub cl, al
mov byte [0x47009e], cl
mov al, byte [0x47008f]
xor al, 0x33
mov byte [0x47009f], al
mov cl, byte [0x4700a0]
mov al, cl
xor al, 0xff
mov dl, cl
xor dl, 0xff
or al, dl
xor al, 0xff
or al, 0x52
xor cl, 0xff
or cl, 0xad
and al, cl
xor al, 0xff
mov byte [0x4700ac], al
mov al, byte [0x4700a1]
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
and cl, dl
or cl, 0
xor cl, 0xff
or cl, 0
xor cl, 0xff
mov dl, al
xor dl, 0xff
and dl, 0xff
or dl, 0
mov ah, dl
xor ah, 0xff
mov ch, cl
and ch, ah
mov ah, cl
xor ah, dl
add cl, ah
sub cl, ch
xor cl, 0xff
mov dl, cl
or dl, 0xe5
xor dl, 0xff
xor cl, 0xff
and cl, 0x1a
or dl, cl
xor dl, 0xff
xor al, 0xff
and al, 0xff
or al, 0
or al, 0x1a
and dl, al
xor dl, 0xff
mov byte [0x4700ad], dl
mov al, byte [0x4700a2]
xor al, 0x4d
mov byte [0x4700ae], al
mov al, byte [0x4700a3]
xor al, 0x3e
mov byte [0x4700af], al
mov al, byte [0x4700a4]
xor al, 0x32
mov byte [0x4700b0], al
mov al, byte [0x4700a5]
mov cl, al
xor cl, 0x4a
xor cl, 0xff
and cl, 0x4a
shl cl, 1
mov dl, cl
xor dl, 0xff
and dl, 0x4a
and cl, 0xb5
sub cl, dl
sub al, cl
mov byte [0x4700b1], al
mov al, byte [0x4700a6]
mov cl, al
xor cl, 0xff
mov dl, al
xor dl, 0xff
and cl, dl
xor cl, 0xff
and cl, 0xa1
xor al, 0xff
and al, 0x5e
xor cl, 0xff
xor al, 0xff
and cl, al
mov byte [0x4700b2], cl
mov al, byte [0x4700a7]
mov cl, al
and cl, cl
xor cl, 0xff
and cl, 0x3d
xor cl, 0xff
and al, 0xc2
xor al, 0xff
xor cl, 0xff
xor al, 0xff
or cl, al
mov byte [0x4700b3], cl
mov ch, byte [0x4700a8]
mov cl, ch
xor cl, 0xff
and cl, 0x49
mov al, ch
and al, 0xb6
or cl, al
xor cl, 0xff
and cl, 0x49
mov dl, cl
and dl, 0xfd
mov al, cl
xor al, 0xff
and al, 2
mul dl
mov dl, al
mov dh, cl
and dh, 2
or cl, 2
mov al, cl
mul dh
add al, dl
sub al, 0x49
sub ch, 0x7b
sub ch, al
add ch, 0x7b
mov byte [0x4700b4], ch
mov al, byte [0x4700a9]
xor al, 0xac
mov byte [0x4700b5], al
mov al, byte [0x4700aa]
mov cl, al
or cl, cl
xor cl, 0xff
xor cl, 0xff
and cl, 0x1c
or al, 0x1c
xor al, 0xff
or cl, al
xor cl, 0xff
mov byte [0x4700b6], cl
mov al, byte [0x4700ab]
xor al, 0xd1
mov byte [0x4700b7], al
mov dword [0x4745f0], 1
push eax
mov edi, esp
sub esp, 0x1c
mov ebx, esp
push eax
mov dword [ebp - 0x1c], esp
sub esp, 0x10
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x18], esp
sub esp, 0x10
mov esi, esp
push eax
mov dword [ebp - 0x24], esp
sub esp, 0xc
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x28], esp
sub esp, 0x14
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x2c], esp
sub esp, 0xc
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x14], esp
push eax
mov dword [ebp - 0x10], esp
sub esp, 0x22c
mov dword [ebp - 0x40], esp
push eax
mov dword [ebp - 0x44], esp
push eax
mov dword [ebp - 0x20], esp
push eax
mov dword [ebp - 0x48], esp
lea eax, [0x46633a]
sub esp, 4
mov dword [esp], eax
call dword [str.da_dk]
mov dword [edi], eax
lea eax, [0x470100]
sub esp, 0xc
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x19
call fcn.0044e8d0
add esp, 0xc
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ebx
call dword [0x46e22c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x470090]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [0x470094]
mov dword [ecx + 4], eax
mov eax, dword [0x470098]
mov dword [ecx + 8], eax
mov eax, dword [0x47009c]
mov dword [ecx + 0xc], eax
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [0x46e22c]
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [0x4700c7]
mov dword [esi], eax
mov eax, dword [0x4700cb]
mov dword [esi + 4], eax
mov eax, dword [0x4700cf]
mov dword [esi + 8], eax
mov ax, word [0x4700d3]
mov word [esi + 0xc], ax
mov al, byte [0x4700d5]
mov byte [esi + 0xe], al
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], esi
call dword [0x46e22c]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [0x47015d]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [0x470161]
mov dword [ecx + 4], eax
mov eax, dword [0x470165]
mov dword [ecx + 8], eax
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [0x46e22c]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
lea eax, [0x470140]
sub esp, 0xc
mov esi, dword [ebp - 0x38]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], 0x11
call fcn.0044e8d0
add esp, 0xc
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], esi
call dword [0x46e22c]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [0x4700ac]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [0x4700b0]
mov dword [ecx + 4], eax
mov eax, dword [0x4700b4]
mov dword [ecx + 8], eax
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [0x46e22c]
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
xor eax, eax
sub esp, 8
mov dword [esp], 0xf
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x1c]
call dword [eax]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov edx, dword [ebp - 0x40]
mov dword [edx], 0x22c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov esi, edx
mov dword [esp + 4], edx
call eax
mov ecx, dword [ebp - 0x44]
mov ebx, ecx
mov dword [ecx], eax
jmp 0x406f62
cmp dword [ebx], 0
setne al
mov ecx, dword [ebp - 0x20]
test al, 1
jne 0x406f74
jmp 0x40702d
mov dword [ecx], 0
cmp dword [ecx], 5
jl 0x406f86
jmp 0x406f81
jmp 0x407010
mov eax, dword [ecx]
mov eax, dword [eax*4 + 0x4745dc]
mov ecx, esi
add ecx, 0x24
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457de6
add esp, 8
cmp eax, 0
jne 0x406fff
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [esi + 8]
xor edx, edx
sub esp, 0xc
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call eax
mov edi, dword [ebp - 0x48]
mov dword [edi], eax
cmp dword [edi], 0
je 0x406fff
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, dword [edi]
xor edx, edx
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], 0
call eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [edi]
sub esp, 4
mov dword [esp], ecx
call eax
jmp 0x407001
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx]
add eax, 1
mov dword [ecx], eax
jmp 0x406f7a
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], esi
call eax
mov dword [ebx], eax
jmp 0x406f60
jmp 0x40702f
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], ecx
call eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret