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

Disassembly:
push edi
push esi
sub esp, 0x5a4
mov eax, dword [0x49b5a8]
add eax, 0xf4b01a64
mov dword [0x49b5a8], eax
lea ecx, [esp + 0x564]
call fcn.00431850
mov ecx, dword [0x4a202c]
imul ecx, ecx, 0xcd97c8ad
mov edx, dword [0x49b704]
lea ecx, [ecx + edx - 0x6153492f]
mov dword [0x49b704], ecx
mov ecx, dword [0x4a0d1c]
xor ecx, 0xb5f649d3
mov dword [0x4a0d1c], ecx
mov word [0x4972d0], 0xef3a
mov ecx, dword [0x4a3104]
and ecx, 0x2a934329
mov dword [0x4a3104], ecx
mov dword [esp + 0x128], 0
mov ecx, dword [0x4a3e68]
mov si, word [0x493aaa]
movsx edx, si
xor ecx, edx
mov edx, dword [0x499494]
add edx, ecx
mov dword [0x499494], edx
mov dword [0x4a4250], 0x94
mov ecx, dword [0x49fc2c]
and ecx, 0x53e20458
mov dword [0x49fc2c], ecx
mov ecx, dword [0x493140]
mov edx, esp
mov dword [edx], 0x4a4250
mov dword [esp + 0x124], eax
call ecx
sub esp, 4
mov ecx, dword [0x49df20]
mov si, word [0x493736]
movsx edx, si
or ecx, edx
mov edx, dword [0x49cfc4]
add edx, ecx
mov dword [0x49cfc4], edx
mov dword [esp + 0x120], eax
call fcn.00420c20
mov dword [0x4a4b04], eax
mov eax, dword [0x49a438]
inc eax
mov dword [0x49a438], eax
mov ecx, dword [0x499254]
or eax, ecx
or eax, 0x89780fe1
mov dword [0x499254], eax
call fcn.00401860
mov dword [0x4a4b08], eax
mov si, word [0x4938f6]
movsx eax, si
mov ecx, dword [0x49c470]
sar ecx, 7
imul ecx, ecx, 0x16b509d5
and eax, ecx
mov dword [0x49c7a4], eax
mov eax, dword [0x4a4b04]
cmp eax, 0
je 0x43a51b
mov eax, 0x2edcbdf3
mov ecx, dword [0x49fecc]
imul ecx, ecx, 0xd6c32178
mov dword [0x49fecc], ecx
mov ecx, esp
lea edx, [esp + 0x13b]
mov dword [ecx], edx
mov dword [esp + 0x11c], eax
mov dword [esp + 0x118], edx
call fcn.00445860
mov dword [esp + 0x134], eax
mov dword [0x49c8d8], 0xeacefdae
mov eax, dword [esp + 0x134]
mov byte [esp + eax + 0x13b], 0x5c
mov eax, dword [0x49cd38]
add eax, 0xf33725cb
mov dword [0x49cd38], eax
mov eax, dword [esp + 0x134]
inc eax
mov dword [esp + 0x134], eax
mov eax, dword [0x49cf88]
and eax, 0xdd7f5aff
mov dword [0x49cf88], eax
mov eax, dword [esp + 0x134]
mov byte [esp + eax + 0x13b], 0
mov eax, dword [0x49abb8]
mov ecx, eax
inc ecx
mov dword [0x49abb8], ecx
mov ecx, dword [0x49b8d8]
or ecx, eax
mov dword [0x49b8d8], ecx
mov eax, dword [0x4a4b48]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x118]
mov dword [ecx], eax
call fcn.00454ec0
mov ecx, dword [0x499a78]
mov edx, ecx
dec edx
mov dword [0x499a78], edx
imul ecx, ecx, 0x81eef2eb
mov edx, dword [esp + 0x11c]
cmp edx, ecx
mov dword [esp + 0x114], eax
jg 0x43a41e
mov ax, word [0x4968e2]
mov cx, ax
imul ecx, ecx, 0xae7b5d5
mov ax, cx
mov word [0x4968e2], ax
mov eax, dword [0x493188]
mov ecx, esp
lea edx, [esp + 0x13b]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov dword [esp + 0x110], edx
call eax
sub esp, 8
mov ecx, dword [0x499fec]
and ecx, 0x17bd2957
xor ecx, 0xfea4c737
mov edx, dword [0x49d6d4]
add edx, ecx
mov dword [0x49d6d4], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3846
mov dword [esp + 0x10c], eax
call fcn.0040dbe0
mov dword [esp + 0x5a0], eax
mov si, word [0x497b9c]
mov ax, si
imul eax, eax, 0x93627bdb
mov si, ax
mov word [0x497b9c], si
mov eax, dword [esp + 0x5a0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x110]
mov dword [ecx], eax
call fcn.00454ec0
mov ecx, dword [0x4a398c]
mov edx, ecx
inc edx
mov dword [0x4a398c], edx
mov edx, dword [0x4a1e6c]
and edx, ecx
mov dword [0x4a1e6c], edx
mov ecx, dword [esp + 0x5a0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x108], eax
call fcn.00402190
mov eax, dword [0x49986c]
inc eax
mov dword [0x49986c], eax
imul eax, eax, 0xd854ecd1
mov ecx, 0x6a0b0dda
sub ecx, eax
mov eax, dword [0x49e690]
sub eax, ecx
mov dword [0x49e690], eax
jmp 0x43a58e
mov eax, dword [0x4a31a8]
mov ecx, eax
inc ecx
mov dword [0x4a31a8], ecx
mov dx, word [0x498558]
movsx ecx, dx
sub eax, ecx
mov ecx, dword [0x498fa4]
xor eax, ecx
xor eax, 0xc4153973
mov dword [0x498fa4], eax
mov byte [esp + 0x13b], 0
mov eax, dword [0x49c028]
mov dx, word [0x493376]
movsx ecx, dx
imul eax, ecx
cmp eax, 0xa891c98d
je 0x43a589
mov ax, word [0x493df6]
movsx ecx, ax
xor ecx, 0xca09a14c
mov edx, dword [0x499478]
or edx, ecx
mov dword [0x499478], edx
jmp 0x43a58e
mov eax, 0x7d311638
mov ecx, dword [0x49b2c0]
and ecx, 0xa1ab1695
mov dword [0x49b2c0], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x720e
mov dword [esp + 0x104], eax
call fcn.0040dbe0
mov dword [esp + 0x59c], eax
mov eax, dword [0x4a0a70]
mov ecx, eax
dec ecx
mov dword [0x4a0a70], ecx
add eax, 0x7da7bbf3
add eax, 0xc5686e92
mov ecx, dword [esp + 0x104]
cmp ecx, eax
je 0x43a60b
mov ax, word [0x494cb2]
mov cx, ax
add ecx, 0xce3e1f28
mov ax, cx
mov word [0x494cb2], ax
jmp 0x43a623
mov eax, dword [0x4a2cb0]
mov ecx, 0x7003b6db
sub ecx, eax
mov eax, dword [0x499d6c]
add eax, ecx
mov dword [0x499d6c], eax
mov eax, dword [esp + 0x59c]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x564]
call fcn.00410230
sub esp, 4
mov dx, word [0x496a48]
mov cx, dx
add ecx, 0xfdee1850
mov dx, cx
mov word [0x496a48], dx
mov ecx, dword [esp + 0x59c]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0x100], eax
call fcn.00402190
mov eax, dword [0x49d6b4]
cmp eax, 0x42a0f586
je 0x43a695
mov eax, dword [0x4a01c4]
imul eax, eax, 0xf43e9b7b
mov dword [0x4a01c4], eax
lea eax, [esp + 0x564]
lea ecx, [esp + 0x13b]
mov dword [esp + 0xfc], ecx
mov ecx, eax
call fcn.0040b3b0
lea ecx, [esp + 0x564]
mov dword [esp + 0xf8], eax
call fcn.00443a30
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0xf4], ecx
call fcn.00420e90
cmp eax, 0
je 0x43a7f8
mov eax, dword [0x49d190]
xor eax, 0x66651022
mov cx, word [0x494662]
mov dx, cx
dec edx
mov cx, dx
mov word [0x494662], cx
movsx edx, cx
or edx, 0x9ae93272
cmp eax, edx
je 0x43a742
mov eax, dword [0x49bc74]
mov ecx, dword [0x4a3c20]
xor ecx, eax
mov dword [0x4a3c20], ecx
mov dword [esp + 0x128], 1
mov eax, dword [0x49c8b0]
xor eax, 0xf7fbd5e2
mov dword [0x49c8b0], eax
mov eax, dword [0x493114]
mov ecx, esp
lea edx, [esp + 0x13b]
mov dword [ecx], edx
mov dword [esp + 0xf0], edx
call eax
sub esp, 4
mov ecx, dword [0x4a3298]
add ecx, 0x88040041
mov dword [0x4a3298], ecx
mov ecx, dword [esp + 0x134]
mov byte [esp + ecx + 0x13b], 0
mov ecx, dword [0x49ecf8]
or ecx, 0x18a0468e
mov dword [0x49ecf8], ecx
mov ecx, dword [0x49318c]
mov edx, esp
mov esi, dword [esp + 0xf0]
mov dword [edx], esi
mov dword [esp + 0xec], eax
call ecx
sub esp, 4
mov ecx, dword [0x49cfb8]
dec ecx
mov dword [0x49cfb8], ecx
xor ecx, 0x9522
mov di, word [0x496126]
mov dx, di
add edx, ecx
mov di, dx
mov word [0x496126], di
mov dword [esp + 0xe8], eax
mov eax, dword [0x4a35c8]
mov ecx, eax
inc ecx
mov dword [0x4a35c8], ecx
and eax, 0x6c2b001f
mov ecx, dword [0x49eeec]
inc ecx
mov dword [0x49eeec], ecx
add ecx, 0x7bee5c37
and ecx, 0x64684fac
cmp eax, ecx
jne 0x43a83f
mov eax, dword [0x49befc]
mov ecx, dword [0x49f4c0]
and ecx, eax
mov dword [0x49f4c0], ecx
mov eax, esp
lea ecx, [esp + 0x13b]
mov dword [eax], ecx
mov dword [esp + 0xe4], ecx
call fcn.00445860
mov ecx, dword [0x49d558]
add ecx, 0x126a97ae
mov dword [0x49d558], ecx
mov byte [esp + 0x13e], 0
mov ecx, dword [0x49a9a4]
imul ecx, ecx, 0x132fc309
mov dword [0x49a9a4], ecx
mov ecx, dword [0x4a4b48]
mov edx, esp
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xe4]
mov dword [edx], ecx
mov dword [esp + 0xe0], eax
call fcn.00454ec0
mov si, word [0x4947a4]
movsx ecx, si
imul ecx, ecx, 0x938a2822
mov edx, dword [0x4a347c]
or edx, ecx
mov dword [0x4a347c], edx
mov ecx, dword [0x493188]
mov edx, esp
mov edi, dword [esp + 0xe4]
mov dword [edx], edi
mov dword [edx + 4], 0
mov dword [esp + 0xdc], eax
call ecx
sub esp, 8
mov si, word [0x498b76]
mov cx, si
inc ecx
mov si, cx
mov word [0x498b76], si
movsx ecx, si
cmp ecx, 0xe9329938
mov dword [esp + 0xd8], eax
jl 0x43a91e
mov eax, dword [0x4a2d50]
add eax, 0x26c36f46
mov dword [0x4a2d50], eax
mov eax, 0xbf6024c8
mov ecx, esp
lea edx, [esp + 0x13b]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4a4434
mov dword [esp + 0xd4], eax
call fcn.00454eb0
mov ecx, dword [0x49a3c4]
shl ecx, 9
mov edx, dword [esp + 0xd4]
cmp edx, ecx
mov dword [esp + 0xd0], eax
jl 0x43a970
mov eax, dword [0x49ac84]
imul eax, eax, 0xef2e56b8
mov dword [0x49ac84], eax
cmp dword [esp + 0x128], 0
jne 0x43a9ca
mov eax, 0x14afc593
mov ecx, dword [0x4990bc]
add ecx, 0x14ec1990
mov dword [0x4990bc], ecx
mov dword [0x4a4b00], 0
mov ecx, dword [0x49a1d4]
cmp eax, ecx
jne 0x43a9c5
mov ax, word [0x49682e]
mov cx, ax
add ecx, 0xb0fc6a7c
mov ax, cx
mov word [0x49682e], ax
jmp 0x43a9ca
mov eax, 0xfd4aacb7
mov cx, word [0x497d9c]
mov dx, cx
inc edx
mov cx, dx
mov word [0x497d9c], cx
movsx edx, cx
xor edx, 0xe6a871c5
cmp eax, edx
jne 0x43aa30
mov eax, 0x97596d7f
mov ecx, dword [0x49ca58]
sub ecx, 0x836cbc84
cmp eax, ecx
jg 0x43aa2b
mov eax, dword [0x49c17c]
shl eax, 6
cmp eax, 0x15be8d53
jne 0x43aa26
jmp 0x43aa26
jmp 0x43aa2b
jmp 0x43aa3f
mov eax, dword [0x49e158]
add eax, 0xefefe6fb
mov dword [0x49e158], eax
mov eax, 0x9d980eeb
mov ecx, esp
lea edx, [esp + 0x13b]
mov dword [ecx], edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc8], edx
call fcn.00428d00
mov dword [esp + 0x134], eax
mov eax, dword [0x498f34]
mov ecx, dword [0x49c018]
add ecx, eax
mov dword [0x49c018], ecx
mov eax, dword [0x493188]
mov ecx, esp
mov edx, dword [esp + 0xc8]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x49f338]
xor ecx, 0xffffffff
mov edx, dword [esp + 0xcc]
cmp edx, ecx
mov dword [esp + 0xc4], eax
jg 0x43aacb
mov eax, dword [0x4997ac]
and eax, 0xb7a73247
mov dword [0x4997ac], eax
jmp 0x43ab20
mov eax, 0x5a55bd4
mov cx, word [0x4943d2]
mov dx, cx
inc edx
mov si, dx
mov word [0x4943d2], si
movsx edx, cx
xor edx, 0x3e0a107e
mov edi, dword [0x498edc]
xor edx, edi
cmp eax, edx
jg 0x43ab1b
mov ax, word [0x497870]
movsx ecx, ax
mov edx, dword [0x49a328]
and ecx, edx
and ecx, 0xeb59844c
mov dword [0x49a328], ecx
jmp 0x43ab20
mov eax, 0x4841fe88
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3846
mov dword [esp + 0xc0], eax
call fcn.0040dbe0
mov dword [esp + 0x598], eax
mov eax, dword [0x49ecac]
add eax, 0x40682071
mov dword [0x49ecac], eax
mov eax, dword [esp + 0x598]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x13b]
mov dword [ecx], eax
call fcn.00454ec0
mov ecx, dword [0x49ce54]
mov edx, dword [0x49a834]
and edx, ecx
mov dword [0x49a834], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x720e
mov dword [esp + 0xbc], eax
call fcn.0040dbe0
mov dword [esp + 0x594], eax
mov si, word [0x495572]
mov ax, si
add eax, 0xf50db307
mov si, ax
mov word [0x495572], si
mov eax, dword [esp + 0x598]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00402190
mov si, word [0x4967be]
mov ax, si
imul eax, eax, 0x2994382f
mov si, word [0x496028]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x496028], si
mov eax, dword [esp + 0x594]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x564]
call fcn.00410230
sub esp, 4
mov si, word [0x493280]
movsx ecx, si
mov si, word [0x494eb6]
movsx edx, si
add ecx, edx
mov edx, dword [esp + 0xc0]
cmp edx, ecx
mov dword [esp + 0xb8], eax
jle 0x43ac52
mov eax, dword [0x4a08a4]
imul eax, eax, 0x8fdaebe7
mov dword [0x4a08a4], eax
lea eax, [esp + 0x564]
lea ecx, [esp + 0x13b]
mov edx, dword [esp + 0x594]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], ecx
call fcn.00402190
mov eax, dword [0x499e94]
add eax, 0x58d9a750
mov dword [0x499e94], eax
mov eax, dword [esp + 0xb4]
mov ecx, eax
call fcn.0040b3b0
lea ecx, [esp + 0x564]
mov dword [esp + 0xac], eax
call fcn.00443a30
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0xa8], ecx
call fcn.00420e90
cmp eax, 0
jne 0x43b986
mov eax, 0xa81c5535
mov ecx, dword [0x4992ec]
mov edx, ecx
inc edx
mov dword [0x4992ec], edx
mov edx, dword [0x49c1e8]
or ecx, edx
cmp eax, ecx
jl 0x43ad23
mov eax, dword [0x49eeb4]
add eax, 0x51828221
mov dword [0x49eeb4], eax
cmp dword [0x4a4254], 6
jb 0x43ae51
mov eax, 0xc9352c37
mov ecx, dword [0x49f2a4]
mov edx, dword [0x49a5b0]
imul edx, edx, 0x68eb3610
xor ecx, edx
mov si, word [0x497c12]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x497c12], si
mov ecx, esp
mov dword [ecx + 4], 0x12
mov dword [ecx], 0x5175
mov dword [esp + 0xa4], eax
call fcn.0040dbe0
mov dword [esp + 0x590], eax
mov eax, dword [0x49e374]
lea eax, [eax*8 + 0x43cdbad2]
mov ecx, dword [0x4a3388]
and eax, ecx
mov ecx, dword [0x49da38]
xor ecx, eax
mov dword [0x49da38], ecx
mov eax, dword [esp + 0x590]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x13b]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4a42e4
call fcn.004551cf
mov ecx, dword [0x49d26c]
shl ecx, 5
imul ecx, ecx, 0x626d69b2
imul ecx, ecx, 0x37e3d34f
mov edx, dword [esp + 0xa4]
cmp edx, ecx
mov dword [esp + 0xa0], eax
jge 0x43ae00
mov eax, dword [0x49a4bc]
not eax
mov dword [0x49cc74], eax
jmp 0x43ae0f
mov eax, dword [0x49ea38]
add eax, 0x947af306
mov dword [0x49ea38], eax
mov eax, dword [esp + 0x590]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x12
call fcn.00402190
mov dx, word [0x494984]
mov ax, dx
dec eax
mov dx, ax
mov word [0x494984], dx
movsx eax, dx
mov ecx, dword [0x4997f8]
add ecx, eax
mov dword [0x4997f8], ecx
jmp 0x43aef4
mov eax, dword [0x4a15e4]
imul eax, eax, 0x9e8b1ae6
mov dword [0x4a15e4], eax
mov eax, esp
mov dword [eax + 4], 0x24
mov dword [eax], 0x5741
call fcn.0040dbe0
mov dword [esp + 0x58c], eax
mov eax, dword [0x49c0a8]
add eax, 0x180419
mov dword [0x49c0a8], eax
mov eax, dword [esp + 0x58c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x13b]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4a42e4
call fcn.004551cf
mov ecx, dword [0x4a392c]
inc ecx
mov dword [0x4a392c], ecx
mov edx, dword [0x49c880]
xor edx, ecx
mov dword [0x49c880], edx
mov ecx, dword [esp + 0x58c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x24
mov dword [esp + 0x9c], eax
call fcn.00402190
mov eax, dword [0x4a251c]
or eax, 0xded5c077
mov dword [0x4a251c], eax
mov eax, 0xa02e534
mov ecx, dword [0x4a3014]
mov edx, ecx
inc edx
mov dword [0x4a3014], edx
mov edx, dword [0x49d450]
add ecx, edx
sub ecx, 0x76a597b9
cmp eax, ecx
jg 0x43af36
mov ax, word [0x4963c6]
mov cx, ax
and ecx, 0x9d86
mov ax, cx
mov word [0x4963c6], ax
mov eax, 0xb2a1cc0b
mov byte [esp + 0x563], 0
mov ecx, dword [0x49fab0]
not ecx
add ecx, 0xcbc17beb
mov edx, dword [0x4a044c]
and edx, ecx
mov dword [0x4a044c], edx
mov ecx, dword [0x4a4b48]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x13b]
mov dword [edx], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ecx
call fcn.00454ec0
mov ecx, dword [0x4a15a8]
imul ecx, ecx, 0x3d4302ce
mov edx, dword [0x49d85c]
add edx, ecx
mov dword [0x49d85c], edx
mov ecx, dword [0x493188]
mov edx, esp
mov esi, dword [esp + 0x94]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x90], eax
call ecx
sub esp, 8
mov ecx, dword [0x49e2ec]
not ecx
and ecx, 0x99f5c6f7
mov edx, dword [0x4a4100]
add edx, ecx
mov dword [0x4a4100], edx
mov ecx, esp
mov edx, dword [esp + 0x94]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4a4434
mov dword [esp + 0x8c], eax
call fcn.00454eb0
mov di, word [0x496b98]
movsx ecx, di
shl ecx, 3
mov di, word [0x495a4e]
movsx edx, di
sub ecx, edx
sub ecx, 0x53f0bdfe
mov edx, dword [esp + 0x98]
cmp edx, ecx
mov dword [esp + 0x88], eax
jle 0x43b080
mov eax, 0x9cfec058
mov ecx, dword [0x4a2f24]
sub ecx, 0x4de335f4
cmp eax, ecx
jle 0x43b07b
mov eax, 0x5effebb7
mov ecx, dword [0x49e144]
mov dx, word [0x4948d6]
movsx esi, dx
add esi, 0xda177039
xor ecx, esi
cmp eax, ecx
jge 0x43b076
jmp 0x43b076
jmp 0x43b07b
jmp 0x43b080
mov eax, 0xff4acbd0
mov ecx, esp
lea edx, [esp + 0x13b]
mov dword [ecx], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], edx
call fcn.00428d00
mov dword [esp + 0x134], eax
mov dword [0x4a3eec], 0x1f21dccb
mov eax, dword [0x493188]
mov ecx, esp
mov edx, dword [esp + 0x80]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x4a1958]
mov edx, ecx
inc edx
mov dword [0x4a1958], edx
mov edx, dword [esp + 0x84]
sub edx, ecx
cmp edx, 0x124fafea
mov dword [esp + 0x7c], eax
jne 0x43b107
mov eax, dword [0x4a2ad0]
or eax, 0xbd547adf
mov dword [0x4a2ad0], eax
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x3846
call fcn.0040dbe0
mov dword [esp + 0x588], eax
mov eax, dword [0x49e0d0]
xor eax, 0xffffffff
cmp eax, 0x9d0eaa5b
jne 0x43b144
mov eax, dword [0x4a3d7c]
xor eax, 0x5c5411f5
mov dword [0x4a3d7c], eax
lea eax, [esp + 0x564]
lea ecx, [esp + 0x13b]
mov edx, dword [esp + 0x588]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x13b]
mov dword [esi], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ecx
call fcn.00454ec0
mov di, word [0x49721e]
mov cx, di
add ecx, 0xfe6498aa
mov di, cx
mov word [0x49721e], di
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x720e
mov dword [esp + 0x70], eax
call fcn.0040dbe0
mov dword [esp + 0x584], eax
mov eax, dword [0x49e008]
and eax, 0x9ff7
mov di, word [0x49454c]
mov cx, di
xor ecx, eax
mov di, cx
mov word [0x49454c], di
mov eax, dword [esp + 0x588]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00402190
mov di, word [0x4970c0]
mov ax, di
or eax, 0xe73
mov di, ax
mov word [0x4970c0], di
mov eax, dword [esp + 0x584]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x564]
call fcn.00410230
sub esp, 4
mov ecx, dword [0x49b958]
mov edx, dword [0x4a1088]
imul edx, ecx
mov dword [0x4a1088], edx
mov ecx, dword [esp + 0x584]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x6c], eax
call fcn.00402190
mov di, word [0x493f2e]
mov ax, di
imul eax, eax, 0x4e2521e5
mov di, ax
mov word [0x493f2e], di
mov eax, dword [esp + 0x78]
mov ecx, eax
call fcn.0040b3b0
lea ecx, [esp + 0x564]
mov dword [esp + 0x68], eax
call fcn.00443a30
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x64], ecx
call fcn.00420e90
cmp eax, 0
jne 0x43b949
mov ax, word [0x4940e6]
mov cx, ax
add ecx, 0xf8fd3f78
mov ax, cx
mov word [0x4940e6], ax
mov ecx, dword [0x493130]
mov edx, esp
lea esi, [esp + 0x13b]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x60], esi
call ecx
sub esp, 8
mov di, word [0x4945e4]
mov cx, di
imul ecx, ecx, 0x8a6e78c6
mov di, cx
mov word [0x4945e4], di
mov ecx, esp
mov edx, dword [esp + 0x60]
mov dword [ecx], edx
mov dword [esp + 0x5c], eax
call fcn.00451df0
mov dword [esp + 0x134], eax
mov eax, dword [0x49fa3c]
inc eax
mov dword [0x49fa3c], eax
xor eax, 0x241b24ce
or eax, 0x115a98ab
cmp eax, 0xc356cc6b
jl 0x43b348
mov eax, dword [0x49f110]
add eax, 0x90334d3d
mov dword [0x49f110], eax
mov eax, dword [esp + 0x134]
add eax, 0xfffffffe
mov dword [esp + 0x134], eax
mov dword [0x4a3e84], 0x5b1cf0e0
mov eax, dword [esp + 0x134]
mov dword [esp + 0x130], eax
cmp dword [esp + 0x130], 0
jle 0x43b4d9
mov eax, dword [0x4a3bd0]
mov ecx, eax
dec ecx
mov dword [0x4a3bd0], ecx
xor eax, 0xec1
mov dx, word [0x497ed2]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x497ed2], dx
mov eax, dword [esp + 0x130]
movsx eax, byte [esp + eax + 0x13b]
cmp eax, 0x5c
jne 0x43b46d
mov eax, 0xde3f9ee4
mov ecx, dword [0x4a2e2c]
dec ecx
mov dword [0x4a2e2c], ecx
mov dx, word [0x4987e6]
mov si, dx
xor esi, ecx
mov dx, si
mov word [0x4987e6], dx
mov ecx, dword [esp + 0x130]
inc ecx
mov dword [esp + 0x130], ecx
mov dword [0x49b028], 0xcf22c76e
mov ecx, dword [esp + 0x130]
mov byte [esp + ecx + 0x13b], 0
mov ecx, dword [0x4a2acc]
add ecx, 0xd72dc070
mov dword [0x4a2acc], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x134], ecx
mov ecx, dword [0x49c11c]
and ecx, 0x23ff677e
cmp eax, ecx
je 0x43b458
mov eax, dword [0x498d20]
xor eax, 0x90830063
mov dword [0x498d20], eax
jmp 0x43b468
mov eax, dword [0x4a0b10]
imul eax, eax, 0xdaa0f1cd
mov dword [0x4a0b10], eax
jmp 0x43b4d9
mov eax, 0x2202a0e8
mov cx, word [0x4959de]
movsx edx, cx
and edx, 0xbb22cc69
cmp eax, edx
jle 0x43b49b
mov eax, dword [0x499968]
not eax
mov dword [0x4a13a0], eax
jmp 0x43b4be
mov eax, dword [0x4a02c0]
shr eax, 9
imul eax, eax, 0x8cef8690
mov ecx, dword [0x4a05ec]
shr ecx, 5
or eax, ecx
mov dx, ax
mov word [0x4940ba], dx
jmp 0x43b4c3
mov eax, dword [esp + 0x130]
add eax, 0xffffffff
mov dword [esp + 0x130], eax
jmp 0x43b371
mov eax, dword [0x49abb4]
mov ecx, eax
inc ecx
mov dword [0x49abb4], ecx
or eax, 0x2d67998
or eax, 0x2e291443
cmp eax, 0x20692404
je 0x43b533
mov eax, dword [0x4a1184]
mov ecx, eax
inc ecx
mov dword [0x4a1184], ecx
mov ecx, dword [0x49a904]
shr ecx, 9
imul eax, ecx
mov ecx, 0x7317929c
sub ecx, eax
mov dx, word [0x493cd2]
mov ax, dx
or eax, ecx
mov dx, ax
mov word [0x493cd2], dx
mov eax, 0x4b77240
mov ecx, esp
lea edx, [esp + 0x13b]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4a4434
mov dword [esp + 0x58], eax
call fcn.00454eb0
mov ecx, dword [0x49ef78]
sar ecx, 0xa
mov edx, dword [esp + 0x58]
cmp edx, ecx
mov dword [esp + 0x54], eax
je 0x43b575
mov word [0x4975f2], 0x503a
mov eax, 0x1684b6dc
mov ecx, esp
lea edx, [esp + 0x13b]
mov dword [ecx], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edx
call fcn.00428d00
mov dword [esp + 0x134], eax
mov eax, dword [0x49cab0]
mov si, word [0x49871c]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x49871c], si
mov eax, dword [0x493188]
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x4992d4]
shr ecx, 7
mov edx, 0x13d44f70
sub edx, ecx
mov ecx, dword [0x49ef3c]
add edx, ecx
mov si, word [0x4962fe]
mov cx, si
and ecx, edx
mov si, cx
mov word [0x4962fe], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3846
mov dword [esp + 0x48], eax
call fcn.0040dbe0
mov dword [esp + 0x580], eax
mov eax, dword [0x49c6f8]
sar eax, 8
mov ecx, dword [0x49f2b8]
or ecx, eax
mov dword [0x49f2b8], ecx
mov eax, dword [esp + 0x580]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx], eax
call fcn.00454ec0
mov dword [0x499ca4], 0x1802184
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x720e
mov dword [esp + 0x44], eax
call fcn.0040dbe0
mov dword [esp + 0x57c], eax
mov eax, dword [0x49eca0]
add eax, 0xda63db1e
mov dword [0x49eca0], eax
mov eax, dword [esp + 0x580]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00402190
mov eax, dword [0x4a0388]
mov ecx, eax
inc ecx
mov dword [0x4a0388], ecx
imul eax, eax, 0x9398dc10
mov si, word [0x496598]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x496598], si
mov eax, dword [esp + 0x57c]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x564]
call fcn.00410230
sub esp, 4
mov si, word [0x496c4e]
movsx ecx, si
sar ecx, 9
mov edx, dword [0x499ee0]
mov edi, edx
dec edi
mov dword [0x499ee0], edi
add ecx, edx
and ecx, 0xa16eae83
mov edx, dword [esp + 0x50]
cmp edx, ecx
mov dword [esp + 0x40], eax
jl 0x43b728
mov eax, dword [0x4991c0]
dec eax
mov dword [0x4991c0], eax
mov ecx, dword [0x49d710]
xor ecx, eax
mov dword [0x49d710], ecx
lea eax, [esp + 0x564]
lea ecx, [esp + 0x13b]
mov edx, dword [esp + 0x57c]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ecx
call fcn.00402190
mov eax, dword [0x49c28c]
add eax, 0x554a3e93
mov dword [0x49c28c], eax
mov eax, dword [esp + 0x3c]
mov ecx, eax
call fcn.0040b3b0
lea ecx, [esp + 0x564]
mov dword [esp + 0x34], eax
call fcn.00443a30
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x30], ecx
call fcn.00420e90
cmp eax, 0
jne 0x43b8fa
mov eax, 0xe7bbf17f
mov ecx, dword [0x4a0dd4]
and ecx, 0xb8571917
mov edx, dword [0x4a0cc0]
imul edx, ecx
mov dword [0x4a0cc0], edx
mov ecx, dword [0x493130]
mov edx, esp
lea esi, [esp + 0x13b]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], esi
call ecx
sub esp, 8
mov ecx, dword [0x4a2550]
mov dword [0x49a194], ecx
mov ecx, esp
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4a4434
mov dword [esp + 0x24], eax
call fcn.00454eb0
mov ecx, dword [0x49b8e8]
shl ecx, 4
mov edx, dword [esp + 0x2c]
cmp edx, ecx
mov dword [esp + 0x20], eax
jge 0x43b83c
mov word [0x49350e], 0xdadf
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x3846
call fcn.0040dbe0
mov dword [esp + 0x578], eax
mov eax, dword [0x4a3b08]
sar eax, 0xa
imul eax, eax, 0x7c67002c
xor eax, 0x8e3f76c6
mov ecx, dword [0x499910]
and ecx, eax
mov dword [0x499910], ecx
mov eax, dword [esp + 0x578]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x13b]
mov dword [ecx], eax
call fcn.00454ec0
mov dx, word [0x496c30]
mov cx, dx
or ecx, 0x63f
mov dx, cx
mov word [0x496c30], dx
mov ecx, dword [esp + 0x578]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0x1c], eax
call fcn.00402190
mov eax, dword [0x49f0f8]
mov ecx, eax
dec ecx
mov dword [0x49f0f8], ecx
or eax, 0x1eb4954d
cmp eax, 0xaba64b75
jge 0x43b8f5
mov eax, dword [0x49c534]
imul eax, eax, 0x91000002
mov dword [0x49c534], eax
jmp 0x43b8fa
mov eax, 0x34b4fc35
mov cx, word [0x4952ce]
movsx edx, cx
cmp eax, edx
jne 0x43b944
mov eax, 0x3540c2c
mov ecx, dword [0x4a1c90]
imul ecx, ecx, 0x464e5a9a
add ecx, 0x79936028
cmp eax, ecx
jne 0x43b93f
mov eax, dword [0x49c554]
and eax, 0xe9425171
mov dword [0x49c554], eax
jmp 0x43b944
jmp 0x43b949
mov ax, word [0x4942ac]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4942ac], dx
movsx ecx, ax
mov esi, 0xb5f3e256
sub esi, ecx
mov ax, word [0x493eee]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x493eee], dx
movsx ecx, ax
or esi, ecx
mov dword [0x4a14cc], esi
mov eax, 0xf3663a93
mov ecx, dword [0x49d9bc]
cmp eax, ecx
jl 0x43b9a8
mov eax, dword [0x4a408c]
add eax, 0xfbe98afa
mov dword [0x4a408c], eax
mov eax, esp
lea ecx, [esp + 0x13b]
mov dword [eax], ecx
mov dword [esp + 0x18], ecx
call fcn.00428d00
mov ecx, dword [0x49ae4c]
mov edx, dword [0x49c018]
and edx, ecx
mov dword [0x49c018], edx
mov ecx, dword [0x49313c]
mov edx, esp
mov esi, dword [esp + 0x18]
mov dword [edx], esi
mov dword [edx + 4], 2
mov dword [esp + 0x14], eax
call ecx
sub esp, 8
mov ecx, dword [0x4a233c]
add ecx, 0xfbd72526
mov dword [0x4a233c], ecx
mov ecx, esp
mov edx, dword [esp + 0x18]
mov dword [ecx], edx
mov dword [ecx + 4], 0x429
mov dword [esp + 0x10], eax
call fcn.00401450
mov eax, dword [0x49f4ac]
or eax, 0x7fd727ab
mov dword [0x49f4ac], eax
lea ecx, [esp + 0x564]
call fcn.00428f50
add esp, 0x5a4
pop esi
pop edi
ret