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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x158
mov esi, esp
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x30], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x34], eax
mov eax, dword [0x5972c0]
xor eax, ebp
mov dword [esi + 0x150], eax
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
mov edx, ecx
sub edx, 0x14a11b33
sub edx, 1
add edx, 0x14a11b33
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x4a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x4b], al
mov dword [esi + 0x44], 0x7516f14e
mov eax, dword [esi + 0x44]
mov dword [esi + 0x2c], eax
sub eax, 0x8145838d
je 0x46434e
jmp 0x45fb70
mov eax, dword [esi + 0x2c]
sub eax, 0x81626794
je 0x4655a1
jmp 0x45fb83
mov eax, dword [esi + 0x2c]
sub eax, 0x816bc674
je 0x4641f5
jmp 0x45fb96
mov eax, dword [esi + 0x2c]
sub eax, 0x8277286f
je 0x46794d
jmp 0x45fba9
mov eax, dword [esi + 0x2c]
sub eax, 0x8362363a
je 0x466f87
jmp 0x45fbbc
mov eax, dword [esi + 0x2c]
sub eax, 0x83936f1f
je 0x4660ba
jmp 0x45fbcf
mov eax, dword [esi + 0x2c]
sub eax, 0x84c202c3
je 0x4676e9
jmp 0x45fbe2
mov eax, dword [esi + 0x2c]
sub eax, 0x858edfde
je 0x467b25
jmp 0x45fbf5
mov eax, dword [esi + 0x2c]
sub eax, 0x85b5e46e
je 0x46526a
jmp 0x45fc08
mov eax, dword [esi + 0x2c]
sub eax, 0x86122cf6
je 0x467b96
jmp 0x45fc1b
mov eax, dword [esi + 0x2c]
sub eax, 0x866efdbe
je 0x462479
jmp 0x45fc2e
mov eax, dword [esi + 0x2c]
sub eax, 0x86d7e190
je 0x4637f5
jmp 0x45fc41
mov eax, dword [esi + 0x2c]
sub eax, 0x8734ab3f
je 0x4677f3
jmp 0x45fc54
mov eax, dword [esi + 0x2c]
sub eax, 0x890c3655
je 0x466100
jmp 0x45fc67
mov eax, dword [esi + 0x2c]
sub eax, 0x897fe06f
je 0x4677ab
jmp 0x45fc7a
mov eax, dword [esi + 0x2c]
sub eax, 0x898c1a47
je 0x462140
jmp 0x45fc8d
mov eax, dword [esi + 0x2c]
sub eax, 0x89e84a81
je 0x46779f
jmp 0x45fca0
mov eax, dword [esi + 0x2c]
sub eax, 0x8a1013a0
je 0x466d38
jmp 0x45fcb3
mov eax, dword [esi + 0x2c]
sub eax, 0x8a2e47f9
je 0x46709f
jmp 0x45fcc6
mov eax, dword [esi + 0x2c]
sub eax, 0x8c126832
je 0x467846
jmp 0x45fcd9
mov eax, dword [esi + 0x2c]
sub eax, 0x8c829276
je 0x462e30
jmp 0x45fcec
mov eax, dword [esi + 0x2c]
sub eax, 0x8d3003e3
je 0x463852
jmp 0x45fcff
mov eax, dword [esi + 0x2c]
sub eax, 0x8dbe803f
je 0x46740f
jmp 0x45fd12
mov eax, dword [esi + 0x2c]
sub eax, 0x8ee32b14
je 0x462730
jmp 0x45fd25
mov eax, dword [esi + 0x2c]
sub eax, 0x8fc27189
je 0x466b98
jmp 0x45fd38
mov eax, dword [esi + 0x2c]
sub eax, 0x8febf73c
je 0x4655e7
jmp 0x45fd4b
mov eax, dword [esi + 0x2c]
sub eax, 0x90909e30
je 0x4676dd
jmp 0x45fd5e
mov eax, dword [esi + 0x2c]
sub eax, 0x9182e560
je 0x464410
jmp 0x45fd71
mov eax, dword [esi + 0x2c]
sub eax, 0x927599b3
je 0x464482
jmp 0x45fd84
mov eax, dword [esi + 0x2c]
sub eax, 0x93899c09
je 0x46341b
jmp 0x45fd97
mov eax, dword [esi + 0x2c]
sub eax, 0x947246c1
je 0x463ac2
jmp 0x45fdaa
mov eax, dword [esi + 0x2c]
sub eax, 0x9508bf38
je 0x467ab7
jmp 0x45fdbd
mov eax, dword [esi + 0x2c]
sub eax, 0x952c37f5
je 0x4669fa
jmp 0x45fdd0
mov eax, dword [esi + 0x2c]
sub eax, 0x959c349c
je 0x46512d
jmp 0x45fde3
mov eax, dword [esi + 0x2c]
sub eax, 0x961defd8
je 0x464e7d
jmp 0x45fdf6
mov eax, dword [esi + 0x2c]
sub eax, 0x97de4f52
je 0x467378
jmp 0x45fe09
mov eax, dword [esi + 0x2c]
sub eax, 0x9812e10d
je 0x4636ea
jmp 0x45fe1c
mov eax, dword [esi + 0x2c]
sub eax, 0x98ac2095
je 0x46674b
jmp 0x45fe2f
mov eax, dword [esi + 0x2c]
sub eax, 0x99018e37
je 0x463608
jmp 0x45fe42
mov eax, dword [esi + 0x2c]
sub eax, 0x99341180
je 0x463e40
jmp 0x45fe55
mov eax, dword [esi + 0x2c]
sub eax, 0x9a0e89fa
je 0x466f7b
jmp 0x45fe68
mov eax, dword [esi + 0x2c]
sub eax, 0x9b65a8d1
je 0x466cb9
jmp 0x45fe7b
mov eax, dword [esi + 0x2c]
sub eax, 0x9b7c9780
je 0x4678a8
jmp 0x45fe8e
mov eax, dword [esi + 0x2c]
sub eax, 0x9db0e7dd
je 0x464ba0
jmp 0x45fea1
mov eax, dword [esi + 0x2c]
sub eax, 0x9dceec8e
je 0x4674d4
jmp 0x45feb4
mov eax, dword [esi + 0x2c]
sub eax, 0x9dd62ae2
je 0x462abc
jmp 0x45fec7
mov eax, dword [esi + 0x2c]
sub eax, 0x9e47437c
je 0x4619c3
jmp 0x45feda
mov eax, dword [esi + 0x2c]
sub eax, 0x9e5ca9e3
je 0x461e1a
jmp 0x45feed
mov eax, dword [esi + 0x2c]
sub eax, 0x9ea45ada
je 0x4667b0
jmp 0x45ff00
mov eax, dword [esi + 0x2c]
sub eax, 0x9ecb1708
je 0x464a50
jmp 0x45ff13
mov eax, dword [esi + 0x2c]
sub eax, 0x9f09f094
je 0x4644f5
jmp 0x45ff26
mov eax, dword [esi + 0x2c]
sub eax, 0xa1ed0f14
je 0x461cff
jmp 0x45ff39
mov eax, dword [esi + 0x2c]
sub eax, 0xa21d9ed7
je 0x4670e5
jmp 0x45ff4c
mov eax, dword [esi + 0x2c]
sub eax, 0xa2412787
je 0x467a07
jmp 0x45ff5f
mov eax, dword [esi + 0x2c]
sub eax, 0xa3908a43
je 0x466445
jmp 0x45ff72
mov eax, dword [esi + 0x2c]
sub eax, 0xa3f68fe7
je 0x464776
jmp 0x45ff85
mov eax, dword [esi + 0x2c]
sub eax, 0xa4669b81
je 0x463c61
jmp 0x45ff98
mov eax, dword [esi + 0x2c]
sub eax, 0xa5af4c8a
je 0x466533
jmp 0x45ffab
mov eax, dword [esi + 0x2c]
sub eax, 0xa6c18c5f
je 0x461912
jmp 0x45ffbe
mov eax, dword [esi + 0x2c]
sub eax, 0xa6d8cb9c
je 0x465fb4
jmp 0x45ffd1
mov eax, dword [esi + 0x2c]
sub eax, 0xa7645854
je 0x467971
jmp 0x45ffe4
mov eax, dword [esi + 0x2c]
sub eax, 0xa7d6b421
je 0x46798c
jmp 0x45fff7
mov eax, dword [esi + 0x2c]
sub eax, 0xa8297b57
je 0x4679a7
jmp 0x46000a
mov eax, dword [esi + 0x2c]
sub eax, 0xa89aac54
je 0x467890
jmp 0x46001d
mov eax, dword [esi + 0x2c]
sub eax, 0xaa3781ff
je 0x464182
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0x270e84e7
mov ecx, 0x5f25d24e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
mov edx, ecx
add edx, 0xfe050d99
sub edx, 1
sub edx, 0xfe050d99
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, 0x40d5f399
mov ecx, 0xeca18ff0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov dword [esi + 0x44], 0x52cf67f7
jmp 0x467f09
mov eax, dword [esi + 0x50]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.0046fa50
sub eax, 1
sbb edx, 0
setl al
and al, 1
mov byte [esi + 0x67], al
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
add edx, 0x5b855416
sub edx, 1
sub edx, 0x5b855416
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, 0x47884695
mov ecx, 0xe564f7fc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0x952c37f5
mov ecx, 0x30aef7cc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0xc209db29
mov ecx, 0x4768ecd9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov dword [esi + 0x44], 0xf7d0bcb0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
add edx, 0x8235fe1c
sub edx, 1
sub edx, 0x8235fe1c
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, 0x8fc27189
mov ecx, 0x58f4aac6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0x90], eax
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
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, 0xad5aed69
mov ecx, 0xe3bef111
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
sub edx, 0x40c7a2ae
sub edx, 1
add edx, 0x40c7a2ae
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, 0xde066d9a
mov ecx, 0xb7a4bf35
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
sub edx, 0x8093a09
sub edx, 1
add edx, 0x8093a09
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, 0xf93bbc9b
mov ecx, 0x7910ce5d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
sub edx, 0xe2ec78e5
sub edx, 1
add edx, 0xe2ec78e5
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, 0x7b5d32eb
mov ecx, 0x68198484
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [esi + 0x5c]
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0xa8], xmm0
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
sub edx, 0x723494c0
sub edx, 1
add edx, 0x723494c0
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, 0xb2d5b3d8
mov ecx, 0x8d3003e3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
add edx, 0x980c9766
sub edx, 1
sub edx, 0x980c9766
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, 0x9b7c9780
mov ecx, 0x566fb941
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov dl, byte [esi + 0xb7]
mov eax, 0xe3eb5f3f
mov ecx, 0xdbcaf34f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0xc4], eax
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
mov edx, ecx
sub edx, 0x7e507794
sub edx, 1
add edx, 0x7e507794
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, 0xc965c1d
mov ecx, 0x7eb9e06d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
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, 0x5476dd05
mov ecx, 0xc4ed2d5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
mov edx, ecx
sub edx, 0xf3ac7e42
sub edx, 1
add edx, 0xf3ac7e42
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, 0x6b4dcf35
mov ecx, 0x5de0a268
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov dword [esi + 0x44], 0x58903ee0
jmp 0x467f09
mov dword [esi + 0x44], 0x2a139c7a
jmp 0x467f09
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
mov edx, ecx
add edx, 0x3d025f0a
sub edx, 1
sub edx, 0x3d025f0a
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, 0xf10aae4d
mov ecx, 0x9f09f094
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
sub edx, 0xf6e7f0b2
sub edx, 1
add edx, 0xf6e7f0b2
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, 0x54a56aff
mov ecx, 0xcaa9ba80
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
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, 0xd84bd2
mov ecx, 0x79817fec
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
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, 0xf378c9c6
mov ecx, 0x7855ab2a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov dl, byte [esi + 0xdb]
mov eax, 0x6aa912a8
mov ecx, 0x57089540
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0x8a2e47f9
mov ecx, 0x79476a72
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0x3ad2b72e
mov ecx, 0xde158ee
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [esi + 0x11c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x118]
add ecx, eax
call fcn.004742d0
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x50]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
xor eax, eax
sub eax, 0x545887d3
add eax, edx
add eax, 0x545887d3
add ecx, eax
call fcn.00475a00
mov ecx, dword [esi + 0xc]
sub esp, 4
movsx eax, al
mov dword [esp], eax
call fcn.00474fc0
mov dword [esi + 0x10], eax
call fcn.00475e80
mov ecx, eax
mov eax, dword [esi + 0x10]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00474120
add esp, 8
and al, 1
mov byte [esi + 0x123], al
mov dword [esi + 0x44], 0x308f207b
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0xa2412787
mov ecx, 0x8febf73c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
sub edx, 0x5b49fb1e
sub edx, 1
add edx, 0x5b49fb1e
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, 0xa2412787
mov ecx, 0x48122d02
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
sub edx, 0x2474cf8
sub edx, 1
add edx, 0x2474cf8
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, 0x2ed1647b
mov ecx, 0xbb4b34ad
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0x2ad04479
mov ecx, 0x890c3655
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0x2ad04479
mov ecx, 0x5ed8ad1a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0x9dceec8e
mov ecx, 0xec765653
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov ecx, dword [esi + 0x140]
mov eax, dword [esi + 0x144]
add ecx, eax
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
xor edx, edx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00476560
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
sub edx, 0xb8141b23
sub edx, 1
add edx, 0xb8141b23
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, 0xe589e955
mov ecx, 0xbf1d620f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x124]
mov dword [eax], ecx
mov dword [esi + 0x44], 0x4f3ec289
jmp 0x467f09
mov eax, dword [esi + 0x128]
mov eax, dword [esi + 0x12c]
mov eax, dword [esi + 0x128]
mov eax, dword [esi + 0x12c]
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
mov edx, ecx
sub edx, 0xff6b695f
sub edx, 1
add edx, 0xff6b695f
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, 0x6566beec
mov ecx, 0xadc2cc4d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
add edx, 0x3e7b7cac
sub edx, 1
sub edx, 0x3e7b7cac
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, 0x77185e2e
mov ecx, 0xc4bfc455
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov dword [esi + 0x44], 0x9dd62ae2
jmp 0x467f09
mov dword [esi + 0x44], 0x768b8df7
jmp 0x467f09
mov eax, dword [esi + 0x50]
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
mov edx, ecx
sub edx, 0xa0f5788c
sub edx, 1
add edx, 0xa0f5788c
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, 0xd97af55
mov ecx, 0xbae4de9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov dword [esi + 0x44], 0xe38fc106
jmp 0x467f09
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
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, 0x4d349b0a
mov ecx, 0xd470968d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0x742e0194
mov ecx, 0xa21d9ed7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov ecx, dword [esi + 0xe4]
mov edi, dword [esi + 0xe8]
mov ebx, dword [esi + 0xec]
mov edx, dword [esi + 0xf4]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ebx
mov dword [eax + 4], edi
mov dword [eax], edx
call fcn.00475e90
mov eax, dword [esi + 0x58]
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
mov edx, eax
sub edx, 0xefade384
sub edx, 1
add edx, 0xefade384
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, 0x742e0194
mov ecx, 0x1853d6e7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov eax, dword [0x5995d0]
mov ecx, dword [0x5995cc]
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, 0xc114df1
mov ecx, 0x7c9ca51
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov ecx, dword [0x5995d0]
mov eax, dword [0x5995cc]
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, 0xad9bfae6
mov ecx, 0x18504102
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x467f09
mov dword [esi + 0x44], 0xec765653
jmp 0x467f09
mov dword [esi + 0x44], 0x4625fe96
jmp 0x467f09
mov edx, dword [esi + 0x34]
mov edi, dword [esi + 0x30]
push eax
mov eax, esp
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 4], ecx
mov esp, ecx
push eax
push eax
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
push eax
mov ecx, dword [esi + 0x4c]
mov dword [ecx], edi
mov ecx, dword [esi + 0x50]
mov dword [ecx], edx
mov dword [eax], 0
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.0046f2b0
add esp, 4
mov ecx, eax
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [esi + 0x44], 0x66e6e499
jmp 0x467f09
mov dword [esi + 0x44], 0x4e067900
jmp 0x467f09
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x7c]
xor eax, eax
sub eax, 0xd6d2d873
add eax, ecx
add eax, 0xd6d2d873
mov ecx, dword [esi + 0x78]
add ecx, eax
call fcn.0046fa50
mov eax, dword [esi + 0x58]
mov dword [esi + 0x44], 0x6874fb72
jmp 0x467f09
mov dword [esi + 0x44], 0x7d6c333b
jmp 0x467f09
mov dword [esi + 0x44], 0x47cb9fd6
jmp 0x467f09
mov dword [esi + 0x44], 0x3ebd3b23
jmp 0x467f09
mov dword [esi + 0x44], 0x566fb941
jmp 0x467f09
mov dword [esi + 0x44], 0xff568a5d
jmp 0x467f09
mov dword [esi + 0x44], 0x1c10f93f
jmp 0x467f09
mov dword [esi + 0x44], 0x4b36efaf
jmp 0x467f09
mov ecx, dword [esi + 0xe4]
mov edi, dword [esi + 0xe8]
mov ebx, dword [esi + 0xec]
mov edx, dword [esi + 0xf4]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ebx
mov dword [eax + 4], edi
mov dword [eax], edx
call fcn.00475e90
mov eax, dword [esi + 0x58]
mov dword [esi + 0x44], 0x332a68e4
jmp 0x467f09
mov dword [esi + 0x44], 0x8febf73c
jmp 0x467f09
mov eax, dword [esi + 0x50]
mov dword [esi + 0x44], 0xf2ac32f6
jmp 0x467f09
mov eax, dword [esi + 0x50]
mov dword [esi + 0x44], 0x7683de59
jmp 0x467f09
mov dword [esi + 0x44], 0xaed2aa05
jmp 0x467f09
jmp 0x45fb5a