Function at 0x409d50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1f0
mov esi, esp
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x3c], eax
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
mov edx, ecx
sub edx, 0x87885cf
sub edx, 1
add edx, 0x87885cf
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x52], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x53], al
mov dword [esi + 0x4c], 0x732e5eae
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x34], eax
sub eax, 0x81a7415c
je 0x40eed5
jmp 0x409dc3
mov eax, dword [esi + 0x34]
sub eax, 0x8227968f
je 0x4108ca
jmp 0x409dd6
mov eax, dword [esi + 0x34]
sub eax, 0x829b705b
je 0x4109fa
jmp 0x409de9
mov eax, dword [esi + 0x34]
sub eax, 0x86ae8bf2
je 0x40d8e4
jmp 0x409dfc
mov eax, dword [esi + 0x34]
sub eax, 0x873fa2c3
je 0x40d4bd
jmp 0x409e0f
mov eax, dword [esi + 0x34]
sub eax, 0x87d8df63
je 0x40db61
jmp 0x409e22
mov eax, dword [esi + 0x34]
sub eax, 0x89dd61fa
je 0x40d0c0
jmp 0x409e35
mov eax, dword [esi + 0x34]
sub eax, 0x8ad2f07c
je 0x4110f0
jmp 0x409e48
mov eax, dword [esi + 0x34]
sub eax, 0x8c120618
je 0x40c3e8
jmp 0x409e5b
mov eax, dword [esi + 0x34]
sub eax, 0x8ccc0e6a
je 0x40c317
jmp 0x409e6e
mov eax, dword [esi + 0x34]
sub eax, 0x8ce3a193
je 0x40e23d
jmp 0x409e81
mov eax, dword [esi + 0x34]
sub eax, 0x8cf8319f
je 0x40fad3
jmp 0x409e94
mov eax, dword [esi + 0x34]
sub eax, 0x8d43b397
je 0x40f6d9
jmp 0x409ea7
mov eax, dword [esi + 0x34]
sub eax, 0x906e0a81
je 0x40c28d
jmp 0x409eba
mov eax, dword [esi + 0x34]
sub eax, 0x911f2c14
je 0x40d32e
jmp 0x409ecd
mov eax, dword [esi + 0x34]
sub eax, 0x91c4904a
je 0x40c14a
jmp 0x409ee0
mov eax, dword [esi + 0x34]
sub eax, 0x9203e02b
je 0x40f1ff
jmp 0x409ef3
mov eax, dword [esi + 0x34]
sub eax, 0x92346642
je 0x40e35b
jmp 0x409f06
mov eax, dword [esi + 0x34]
sub eax, 0x93024411
je 0x40bac9
jmp 0x409f19
mov eax, dword [esi + 0x34]
sub eax, 0x93787a5e
je 0x40c098
jmp 0x409f2c
mov eax, dword [esi + 0x34]
sub eax, 0x9574f17c
je 0x40d1a1
jmp 0x409f3f
mov eax, dword [esi + 0x34]
sub eax, 0x9765cec1
je 0x410215
jmp 0x409f52
mov eax, dword [esi + 0x34]
sub eax, 0x9823b758
je 0x410a65
jmp 0x409f65
mov eax, dword [esi + 0x34]
sub eax, 0x99479ca0
je 0x410d34
jmp 0x409f78
mov eax, dword [esi + 0x34]
sub eax, 0x9c03e6aa
je 0x40ed9c
jmp 0x409f8b
mov eax, dword [esi + 0x34]
sub eax, 0x9c98d0e5
je 0x410add
jmp 0x409f9e
mov eax, dword [esi + 0x34]
sub eax, 0x9d08d796
je 0x40cdb9
jmp 0x409fb1
mov eax, dword [esi + 0x34]
sub eax, 0x9d7e455d
je 0x410d19
jmp 0x409fc4
mov eax, dword [esi + 0x34]
sub eax, 0x9e026a92
je 0x410455
jmp 0x409fd7
mov eax, dword [esi + 0x34]
sub eax, 0x9e4d12f7
je 0x40d98f
jmp 0x409fea
mov eax, dword [esi + 0x34]
sub eax, 0x9e71f4b1
je 0x4109b2
jmp 0x409ffd
mov eax, dword [esi + 0x34]
sub eax, 0x9e92c2ea
je 0x40f84e
jmp 0x40a010
mov eax, dword [esi + 0x34]
sub eax, 0x9f0561c8
je 0x40c905
jmp 0x40a023
mov eax, dword [esi + 0x34]
sub eax, 0x9f50a546
je 0x40e949
jmp 0x40a036
mov eax, dword [esi + 0x34]
sub eax, 0x9f63cde3
je 0x410ff8
jmp 0x40a049
mov eax, dword [esi + 0x34]
sub eax, 0x9f99c2e8
je 0x40e564
jmp 0x40a05c
mov eax, dword [esi + 0x34]
sub eax, 0x9ffbca80
je 0x40d27a
jmp 0x40a06f
mov eax, dword [esi + 0x34]
sub eax, 0xa016738f
je 0x40f16e
jmp 0x40a082
mov eax, dword [esi + 0x34]
sub eax, 0xa0573b4f
je 0x40f97e
jmp 0x40a095
mov eax, dword [esi + 0x34]
sub eax, 0xa299da40
je 0x40d832
jmp 0x40a0a8
mov eax, dword [esi + 0x34]
sub eax, 0xa3035cc9
je 0x4103cb
jmp 0x40a0bb
mov eax, dword [esi + 0x34]
sub eax, 0xa323bfd6
je 0x4109d6
jmp 0x40a0ce
mov eax, dword [esi + 0x34]
sub eax, 0xa3593175
je 0x40eb9d
jmp 0x40a0e1
mov eax, dword [esi + 0x34]
sub eax, 0xa473cd10
je 0x40c7ca
jmp 0x40a0f4
mov eax, dword [esi + 0x34]
sub eax, 0xa60b00dd
je 0x410faa
jmp 0x40a107
mov eax, dword [esi + 0x34]
sub eax, 0xa60be7a5
je 0x40c13e
jmp 0x40a11a
mov eax, dword [esi + 0x34]
sub eax, 0xa617f00d
je 0x40f488
jmp 0x40a12d
mov eax, dword [esi + 0x34]
sub eax, 0xa89d24c2
je 0x410fb6
jmp 0x40a140
mov eax, dword [esi + 0x34]
sub eax, 0xa92800a9
je 0x40ca1a
jmp 0x40a153
mov eax, dword [esi + 0x34]
sub eax, 0xac1bdf6b
je 0x40c911
jmp 0x40a166
mov eax, dword [esi + 0x34]
sub eax, 0xacf162e8
je 0x410b55
jmp 0x40a179
mov eax, dword [esi + 0x34]
sub eax, 0xae15aebc
je 0x40c74b
jmp 0x40a18c
mov eax, dword [esi + 0x34]
sub eax, 0xaf046a5f
je 0x40fe0e
jmp 0x40a19f
mov eax, dword [esi + 0x34]
sub eax, 0xaf15ca99
je 0x40dc50
jmp 0x40a1b2
mov eax, dword [esi + 0x34]
sub eax, 0xaf31d7be
je 0x4110ff
jmp 0x40a1c5
mov eax, dword [esi + 0x34]
sub eax, 0xafd23bc7
je 0x4109c4
jmp 0x40a1d8
mov eax, dword [esi + 0x34]
sub eax, 0xb05b4e58
je 0x40b933
jmp 0x40a1eb
mov eax, dword [esi + 0x34]
sub eax, 0xb1ca6f95
je 0x40ff55
jmp 0x40a1fe
mov eax, dword [esi + 0x34]
sub eax, 0xb3385d36
je 0x40cb7d
jmp 0x40a211
mov eax, dword [esi + 0x34]
sub eax, 0xb3e7c1e2
je 0x40f494
jmp 0x40a224
mov eax, dword [esi + 0x34]
sub eax, 0xb4036f5d
je 0x40f4e2
jmp 0x40a237
mov eax, dword [esi + 0x34]
sub eax, 0xb41aa9f8
je 0x40be7e
jmp 0x40a24a
mov eax, dword [esi + 0x34]
sub eax, 0xb463c5a0
je 0x40fede
jmp 0x40a25d
mov eax, dword [esi + 0x34]
sub eax, 0xb466612b
je 0x40bfca
jmp 0x40a270
mov eax, dword [esi + 0x34]
sub eax, 0xb67d88c9
je 0x40e3b5
mov dword [esi + 0x4c], 0x1ce0c43b
jmp 0x411212
mov dword [esi + 0x4c], 0x40da5e91
jmp 0x411212
mov dword [esi + 0x4c], 0xb82cf73d
jmp 0x411212
mov eax, dword [esi + 0x5c]
mov dword [eax], 0
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x6a818b91
mov ecx, 0xb4d4892
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov eax, dword [esi + 0x54]
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.00411220
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x60]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x80], eax
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
mov edx, ecx
sub edx, 0x2994376a
sub edx, 1
add edx, 0x2994376a
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xf0a9c7d9
mov ecx, 0xa60be7a5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0x91c4904a
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xefcb9bbd
mov ecx, 0x57b439bb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x88], eax
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
mov edx, ecx
add edx, 0x50532e78
sub edx, 1
sub edx, 0x50532e78
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x798e8b9a
mov ecx, 0x24102a0a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x9e71f4b1
mov ecx, 0x3f1a39c4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xafd23bc7
mov ecx, 0xefc5785b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0xce1ba459
jmp 0x411212
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x9c]
add eax, ecx
mov dword [esi + 0xa0], eax
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
mov edx, eax
sub edx, 0x5fb0fa4a
sub edx, 1
add edx, 0x5fb0fa4a
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x37284fe7
mov ecx, 0x75bcb4d0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0xac1bdf6b
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
mov edx, ecx
add edx, 0x12975f4e
sub edx, 1
sub edx, 0x12975f4e
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x668407c2
mov ecx, 0x4612fc91
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
mov edx, ecx
sub edx, 0x28dc1a00
sub edx, 1
add edx, 0x28dc1a00
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x9823b758
mov ecx, 0x72e15392
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
mov edx, eax
sub edx, 0xc39b4f5c
sub edx, 1
add edx, 0xc39b4f5c
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xd6ba1916
mov ecx, 0x3a0b3d33
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0x1b42e231
jmp 0x411212
mov eax, dword [esi + 0xc8]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esi + 0xcc], eax
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
mov edx, eax
sub edx, 0x8cda69b1
sub edx, 1
add edx, 0x8cda69b1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x9c98d0e5
mov ecx, 0x176f6dca
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0xcc]
add eax, ecx
mov dword [esi + 0xd0], eax
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x5edbb1d
mov ecx, 0x4077da43
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov eax, dword [esi + 0xd0]
mov dword [esi + 0xd4], eax
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
mov edx, eax
sub edx, 0x947671b2
sub edx, 1
add edx, 0x947671b2
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xbf387a3
mov ecx, 0x2abc1d64
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov ecx, dword [esi + 0xd4]
call fcn.00411960
mov dword [esi + 0xdc], edx
mov dword [esi + 0xd8], eax
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xacf162e8
mov ecx, 0xe55f2ac1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
mov edx, ecx
add edx, 0xd05b36bb
sub edx, 1
sub edx, 0xd05b36bb
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xd292b3e1
mov ecx, 0xfc0cb011
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
mov edx, eax
sub edx, 0xc185447c
sub edx, 1
add edx, 0xc185447c
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xc08ae291
mov ecx, 0x2ef1d59e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0x54d46242
jmp 0x411212
mov dword [esi + 0x4c], 0xc7660032
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xddccf92e
mov ecx, 0xce62cc1f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0xb998a07b
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x99479ca0
mov ecx, 0x1cbf2b87
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0x5af25d55
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x68172233
mov ecx, 0x34586172
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x4d65fd90
mov ecx, 0x361e2c34
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
mov edx, ecx
add edx, 0xf8791dc5
sub edx, 1
sub edx, 0xf8791dc5
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x7bf110c1
mov ecx, 0x735e8833
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0x3dacd1b7
jmp 0x411212
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.00416290
mov dword [esi + 0x15c], eax
mov eax, dword [esi + 0x60]
movsd xmm0, qword [eax]
movsd qword [esi + 0x160], xmm0
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0x16c], eax
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
mov edx, eax
add edx, 0x686f8a5c
sub edx, 1
sub edx, 0x686f8a5c
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7cc395d9
mov ecx, 0x1cd634d1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dl, byte [esi + 0x17b]
mov eax, 0xb3e7c1e2
mov ecx, 0x4ef3df71
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax]
mov eax, ecx
xor eax, 0xffffffff
mov dword [esi + 0x18], eax
mov edi, 0xffffffff
xor edi, 4
mov edx, 0xffffffff
xor edx, 0xa580bf7d
and eax, 0xa580bf7d
mov dword [esi + 0x14], eax
and ecx, edx
mov ebx, edi
and ebx, 0xa580bf7d
mov eax, edx
and eax, 4
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x14]
or eax, ecx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x1c]
or ebx, eax
mov eax, dword [esi + 0x20]
xor eax, ebx
or ecx, edi
xor ecx, 0xffffffff
or edx, 0xa580bf7d
and ecx, edx
or eax, ecx
mov dword [esi + 0x17c], eax
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
mov edx, ecx
sub edx, 0xea2bb319
sub edx, 1
add edx, 0xea2bb319
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x1cc13f49
mov ecx, 0x14028cb6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0xb3e7c1e2
jmp 0x411212
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
mov edx, eax
sub edx, 0x473a7700
sub edx, 1
add edx, 0x473a7700
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xf1a4d896
mov ecx, 0xb4036f5d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov dword [esi + 0x180], eax
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xf1a4d896
mov ecx, 0x54da318e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dl, byte [esi + 0x187]
mov eax, 0x38b5aa58
mov ecx, 0x203923ea
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
mov edx, ecx
add edx, 0x6bc1276e
sub edx, 1
sub edx, 0x6bc1276e
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x5eb12f2a
mov ecx, 0x6b1cb33d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
mov edx, eax
sub edx, 0x1926cf08
sub edx, 1
add edx, 0x1926cf08
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7f0f566b
mov ecx, 0x65483abb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
mov edx, eax
add edx, 0x852137fe
sub edx, 1
sub edx, 0x852137fe
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x9f63cde3
mov ecx, 0xeeaf340e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov ecx, dword [esi + 0x1b0]
mov eax, ecx
xor eax, 0xffffffff
mov dword [esi + 8], eax
mov edi, 0xffffffff
xor edi, 4
mov edx, 0xffffffff
xor edx, 0x3dd6dd4d
and eax, 0x3dd6dd4d
mov dword [esi + 4], eax
and ecx, edx
mov ebx, edi
and ebx, 0x3dd6dd4d
mov eax, edx
and eax, 4
mov dword [esi + 0xc], eax
mov eax, dword [esi + 4]
or eax, ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
or ebx, eax
mov eax, dword [esi + 0x10]
xor eax, ebx
or ecx, edi
xor ecx, 0xffffffff
or edx, 0x3dd6dd4d
and ecx, edx
or eax, ecx
mov dword [esi + 0x1b4], eax
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x5d0295ea
mov ecx, 0xb463c5a0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0xfe4a91a5
jmp 0x411212
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x1b4]
mov dword [eax], ecx
mov eax, dword [0x4c3ef4]
mov ecx, dword [0x4c3ef8]
mov edx, eax
sub edx, 0xe4119cf8
sub edx, 1
add edx, 0xe4119cf8
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x74006b62
mov ecx, 0xbfba1222
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0xd447ef9c
jmp 0x411212
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x1cc], eax
mov eax, dword [esi + 0x1cc]
mov dword [esi + 0x1d0], eax
mov ecx, dword [0x4c3ef4]
mov eax, dword [0x4c3ef8]
mov edx, ecx
add edx, 0x36765d74
sub edx, 1
sub edx, 0x36765d74
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xf743e4cc
mov ecx, 0x9e026a92
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x4c], eax
jmp 0x411212
mov dword [esi + 0x4c], 0x561adc6d
jmp 0x411212
mov dword [esi + 0x4c], 0x2373f8b6
jmp 0x411212
mov eax, dword [esi + 0x88]
mov dword [esi + 0x4c], 0x3f1a39c4
jmp 0x411212
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x4c], 0xefc5785b
jmp 0x411212
mov eax, dword [esi + 0x90]
mov dword [esi + 0x4c], 0xe0089822
jmp 0x411212
mov eax, dword [esi + 0x98]
mov eax, dword [esi + 0x98]
mov eax, dword [esi + 0x98]
mov eax, dword [esi + 0x98]
mov eax, dword [esi + 0x98]
mov dword [esi + 0x4c], 0x72e53d2b
jmp 0x411212
mov eax, dword [esi + 0x60]
mov eax, dword [esi + 0xa8]
mov eax, dword [esi + 0xac]
mov dword [esi + 0x4c], 0x72e15392
jmp 0x411212
mov eax, dword [esi + 0xc8]
mov eax, dword [esi + 0xc8]
mov eax, dword [esi + 0xc8]
mov eax, dword [esi + 0xc8]
mov eax, dword [esi + 0xc8]
mov eax, dword [esi + 0xc8]
mov eax, dword [esi + 0xc8]
mov eax, dword [esi + 0xc8]
mov eax, dword [esi + 0xc8]
mov eax, dword [esi + 0xc8]
mov eax, dword [esi + 0xc8]
mov dword [esi + 0x4c], 0x89dd61fa
jmp 0x411212
mov ecx, dword [esi + 0xd4]
call fcn.00411960
mov dword [esi + 0x4c], 0x911f2c14
jmp 0x411212
mov dword [esi + 0x4c], 0x4cb1c979
jmp 0x411212
mov eax, dword [esi + 0x124]
mov eax, dword [eax + 4]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x120]
add ecx, eax
call fcn.00416290
mov eax, dword [esi + 0x58]
mov dword [esi + 0x4c], 0x1cbf2b87
jmp 0x411212
mov dword [esi + 0x4c], 0x7b69374f
jmp 0x411212
mov eax, dword [esi + 0x64]
mov dword [esi + 0x4c], 0x1cc5ed00
jmp 0x411212
mov eax, dword [esi + 0x19c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x198]
add ecx, eax
call fcn.00416290
mov eax, dword [esi + 0x58]
mov dword [esi + 0x4c], 0xeeaf340e
jmp 0x411212
mov eax, dword [esi + 0x64]
mov dword [esi + 0x4c], 0x21c0b96f
jmp 0x411212
mov eax, dword [esi + 0x1b8]
mov eax, dword [esi + 0x1bc]
mov eax, dword [esi + 0x1b8]
mov eax, dword [esi + 0x1bc]
mov dword [esi + 0x4c], 0x367949be
jmp 0x411212
jmp 0x409dad