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

Disassembly:
push ebx
push edi
push esi
sub esp, 0xf8
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
mov esi, dword [esp + 0x108]
xor edi, edi
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], ecx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xe4], esi
mov eax, dword [0x4a9a40]
or eax, 0xa095f5c8
mov dword [0x4a9a40], eax
mov bx, word [0x4913f6]
movsx eax, bx
imul eax, eax, 0x339db280
mov ecx, dword [0x49bb70]
sub ecx, eax
mov dword [0x49bb70], ecx
mov eax, dword [0x4a337c]
add eax, 0xc2b74b56
mov dword [0x4a337c], eax
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x70], edi
call fcn.0041cec0
cmp eax, 0
jne 0x43dc73
mov dword [esp + 0xf4], 0xfffffff4
jmp 0x43f589
mov eax, dword [0x4a18b0]
mov ecx, eax
dec ecx
mov dword [0x4a18b0], ecx
xor eax, 0x8acc113b
cmp eax, 0xa4831eb7
jg 0x43dcef
mov eax, 0xe33870aa
mov cx, word [0x49195c]
mov dx, cx
dec edx
mov si, dx
mov word [0x49195c], si
movsx edx, cx
cmp eax, edx
je 0x43dcea
mov eax, 0x1cdaf78f
mov ecx, dword [0x4a0ce8]
mov edx, ecx
dec edx
mov dword [0x4a0ce8], edx
imul ecx, ecx, 0x768cf82b
mov edx, dword [0x4a7140]
sub ecx, edx
cmp eax, ecx
jle 0x43dce5
jmp 0x43dce5
jmp 0x43dcea
jmp 0x43dcef
mov eax, esp
lea ecx, [esp + 0x94]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xa0]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xac]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xb8]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xc4]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.0044fcf0
mov eax, dword [0x4a0ad4]
add eax, 0x27ac2fb1
mov dword [0x4a0ad4], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00411f70
cmp eax, 0
jge 0x43de20
mov dword [0x4ad43c], 0x1f33c2a
cmp dword [esp + 0xe4], 0
je 0x43ddaf
xor eax, eax
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x6c], eax
call fcn.00442440
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43ddaa
jmp 0x43f51f
jmp 0x43ddaf
mov eax, dword [0x4a52a4]
imul eax, eax, 0xf01367f
mov dword [0x4a52a4], eax
cmp dword [esp + 0xe8], 0
je 0x43de01
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00440790
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43ddfc
jmp 0x43f51f
jmp 0x43de01
mov eax, dword [0x49c108]
xor eax, 0x862c8ee0
mov dword [0x49c108], eax
mov dword [esp + 0xf4], 0
jmp 0x43f589
lea eax, [esp + 0xc4]
mov ecx, dword [0x4a0e44]
mov edx, ecx
inc edx
mov dword [0x4a0e44], edx
mov edx, dword [0x4a04c4]
lea ecx, [ecx + edx + 1]
mov edx, dword [0x4a169c]
xor ecx, edx
mov edx, dword [0x4a1a34]
xor edx, ecx
mov dword [0x4a1a34], edx
mov ecx, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00440790
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43de7e
jmp 0x43f51f
mov eax, 0x8089a402
mov ecx, dword [0x49fe68]
inc ecx
mov dword [0x49fe68], ecx
imul ecx, ecx, 0xcd2e4e79
cmp eax, ecx
jne 0x43debb
mov ax, word [0x4951f0]
mov cx, ax
add ecx, 0x7fefff80
mov ax, cx
mov word [0x4951f0], ax
jmp 0x43deca
mov eax, dword [0x4a37e0]
or eax, 0x24412404
mov dword [0x4a37e0], eax
lea eax, [esp + 0xb8]
mov ecx, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00440790
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43def9
jmp 0x43f51f
lea eax, [esp + 0xac]
mov dword [0x4a3150], 0x87940039
mov dword [esp + 0xb8], 1
mov dword [esp + 0xc4], 1
mov ecx, dword [0x49b92c]
sar ecx, 4
xor ecx, 0xbd7cc019
mov edx, dword [0x49c544]
sar edx, 6
or ecx, edx
mov edx, dword [0x4a20a8]
xor edx, ecx
mov dword [0x4a20a8], edx
mov ecx, dword [esp + 0xec]
mov ecx, dword [ecx + 4]
add ecx, 2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00417930
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43df76
jmp 0x43f51f
mov eax, 0x23d77fcd
mov ecx, dword [0x4a53d0]
mov edx, dword [0x49efd4]
shl edx, 0xa
add edx, 0xae580fbd
xor ecx, edx
cmp eax, ecx
jne 0x43dfef
mov eax, 0xd944c85f
mov ecx, dword [0x4aab9c]
dec ecx
mov dword [0x4aab9c], ecx
cmp eax, ecx
je 0x43dfea
mov eax, dword [0x4a3914]
mov ecx, eax
dec ecx
mov dword [0x4a3914], ecx
mov dx, word [0x493a7e]
movsx ecx, dx
add ecx, 0xd3c27da2
or ecx, 0x12641897
cmp eax, ecx
jle 0x43dfe5
jmp 0x43dfe5
jmp 0x43dfea
jmp 0x43dfef
lea eax, [esp + 0xac]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x68], ecx
call fcn.00442440
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43e021
jmp 0x43f51f
lea eax, [esp + 0xa0]
mov ecx, 2
mov edx, dword [0x4a6608]
imul edx, edx, 0xd3505b4
mov dword [0x4a6608], edx
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x64], ecx
call fcn.00417930
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43e068
jmp 0x43f51f
mov eax, 0x1204
mov ecx, dword [0x4a24ac]
sar ecx, 8
cmp eax, ecx
jl 0x43e0bf
mov eax, 0x291dc160
mov ecx, dword [0x49df98]
add ecx, 0x690032c6
or ecx, 0x1b2e035d
cmp eax, ecx
jge 0x43e0ba
mov eax, dword [0x49ca64]
mov ecx, dword [0x4ac064]
not ecx
add eax, ecx
mov ecx, dword [0x4ab240]
or ecx, eax
mov dword [0x4ab240], ecx
jmp 0x43e0bf
lea eax, [esp + 0x94]
mov ecx, 3
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x60], ecx
call fcn.00417930
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43e0f4
jmp 0x43f51f
mov eax, dword [0x4acb14]
sar eax, 3
mov ecx, dword [0x4ad1ac]
sub ecx, eax
mov dword [0x4ad1ac], ecx
mov eax, esp
lea ecx, [esp + 0xb8]
mov dword [eax], ecx
call fcn.00408c20
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
mov edx, eax
add edx, ecx
and edx, 0xffffffe0
sub eax, edx
mov dword [esp + 0xd0], eax
mov si, word [0x495bbc]
mov ax, si
and eax, 0x2241
mov si, ax
mov word [0x495bbc], si
cmp dword [esp + 0xd0], 0x1f
jge 0x43e20e
lea eax, [esp + 0xc4]
mov ecx, dword [0x49f2c0]
imul ecx, ecx, 0xf84067bc
mov dword [0x49f2c0], ecx
mov ecx, dword [esp + 0xd0]
mov edx, 0x1f
sub edx, ecx
mov dword [esp + 0xd0], edx
mov ecx, dword [0x4a6aa4]
add ecx, 0xa401c1
mov dword [0x4a6aa4], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044ec00
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43e1c1
jmp 0x43f51f
lea eax, [esp + 0xb8]
mov dword [0x4a2c6c], 0xd9608e09
mov ecx, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044ec00
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43e1fa
jmp 0x43f51f
mov eax, dword [0x4a7448]
add eax, 0xb99ee235
mov dword [0x4a7448], eax
jmp 0x43e219
mov dword [esp + 0xd0], 0
mov eax, dword [0x4ac620]
dec eax
mov dword [0x4ac620], eax
xor eax, 0xab52
mov cx, word [0x497938]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x497938], cx
mov eax, dword [esp + 0xc8]
dec eax
mov dword [esp + 0xd8], eax
mov eax, dword [0x4a2f8c]
shl eax, 0xa
or eax, 0x6c299de3
mov edx, dword [0x4a2600]
add edx, eax
mov dword [0x4a2600], edx
mov eax, dword [esp + 0xbc]
dec eax
mov dword [esp + 0xd4], eax
mov cx, word [0x48fed4]
mov ax, cx
imul eax, eax, 0xb0252b80
mov edx, 0xe6608745
sub edx, eax
mov cx, word [0x48f7a2]
mov ax, cx
sub eax, edx
mov cx, ax
mov word [0x48f7a2], cx
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
sub eax, edx
shl eax, 5
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0xb8]
mov dword [edx], eax
call fcn.0044ec00
mov edx, dword [0x49c594]
or edx, 0xc7a0126a
mov dword [0x49c594], edx
mov dword [esp + 0x5c], eax
lea eax, [esp + 0xc4]
lea ecx, [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041a640
cmp eax, 0
jl 0x43e3e3
mov eax, 0xc9dad7a5
mov ecx, dword [0x49f9b8]
sub eax, ecx
xor eax, 0x5a956c0b
cmp eax, 0x664e548d
jle 0x43e344
mov ax, word [0x4941da]
movsx ecx, ax
add ecx, 0x657a52ef
and ecx, 0xd6f1fc41
mov edx, dword [0x49bdc4]
sub edx, ecx
mov dword [0x49bdc4], edx
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd4]
sub eax, ecx
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + eax*4]
inc edx
mov dword [ecx + eax*4], edx
mov eax, dword [0x4a8e84]
mov ecx, eax
dec ecx
mov dword [0x4a8e84], ecx
mov ecx, dword [0x49c9ec]
not ecx
lea eax, [eax + ecx - 1]
mov ecx, dword [0x4a7e10]
mov edx, ecx
dec edx
mov dword [0x4a7e10], edx
sub eax, ecx
mov si, word [0x492666]
mov cx, si
xor ecx, eax
mov si, cx
mov word [0x492666], si
mov eax, esp
lea ecx, [esp + 0xb8]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xc4]
mov dword [eax + 4], ecx
mov dword [eax], ecx
call fcn.0044dff0
mov ecx, dword [0x4a614c]
and ecx, 0x93d97b61
mov edx, dword [0x4a92ec]
xor edx, ecx
mov dword [0x4a92ec], edx
mov dword [esp + 0x58], eax
jmp 0x43e2e1
mov ax, word [0x498578]
mov cx, ax
or ecx, 0x46d8
mov ax, cx
mov word [0x498578], ax
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
sub ecx, edx
shl ecx, 5
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xb8]
mov dword [edx], ecx
call fcn.00439e30
mov si, word [0x4924be]
mov cx, si
add ecx, 0x63b31ad0
mov si, cx
mov word [0x4924be], si
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xdc]
cmp eax, dword [esp + 0xd4]
jle 0x43f222
mov dword [0x4a052c], 0x2df7fb40
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xc0]
cmp eax, dword [edx + ecx*4]
jb 0x43e4b7
mov eax, dword [esp + 0xdc]
sub eax, dword [esp + 0xd4]
sub eax, 1
mov ecx, dword [esp + 0xb4]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x43ebb2
mov eax, 0x88c57ab4
mov word [0x490d88], 0xb9b8
mov cx, word [0x49623e]
mov dx, cx
and edx, 0x24a
mov cx, dx
mov word [0x49623e], cx
mov edx, dword [0x49e520]
mov esi, edx
inc esi
mov dword [0x49e520], esi
add edx, 0xa7964f5d
xor edx, 0x399a9665
mov esi, dword [0x4a2e40]
add esi, edx
mov dword [0x4a2e40], esi
mov edx, dword [esp + 0xd4]
mov esi, dword [esp + 0xc0]
mov edx, dword [esi + edx*4]
mov dword [esp + 0x78], edx
mov edx, dword [0x49981c]
and edx, 0x1b2eed00
mov dword [0x49981c], edx
movzx edx, word [esp + 0x78]
mov dword [esp + 0x80], edx
mov cx, word [0x497f52]
movsx edx, cx
imul edx, edx, 0x1feeaab9
mov dword [0x49d3b0], edx
movzx edx, word [esp + 0x7a]
mov dword [esp + 0x7c], edx
mov cx, word [0x492cce]
movsx edx, cx
sub eax, edx
xor eax, 0x95d89192
cmp eax, 0x7fdff6d5
je 0x43e5b9
mov eax, dword [0x4a7878]
mov ecx, 0xfb458cc8
sub ecx, eax
mov eax, dword [0x499908]
add eax, 0x67ec9787
xor eax, 0xffb95ad8
cmp ecx, eax
jle 0x43e5b4
mov eax, dword [0x49fd88]
shl eax, 0xa
or eax, 0x9104a43a
mov ecx, dword [0x4abf28]
and ecx, eax
mov dword [0x4abf28], ecx
jmp 0x43e5b9
mov eax, 0x70e6a2
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xcc]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x7c]
xor esi, esi
mov dword [esp + 0x50], eax
mov eax, ecx
mov dword [esp + 0x4c], edx
mov edx, esi
mov ecx, dword [esp + 0x4c]
div ecx
mov dword [esp + 0x8c], eax
mov eax, dword [0x49f1a0]
add eax, 0xa25f7376
or eax, 0xe6cc4f44
mov ecx, dword [0x499dc0]
dec ecx
mov dword [0x499dc0], ecx
mov edx, dword [esp + 0x50]
sub edx, ecx
cmp eax, edx
jg 0x43e627
mov dword [0x4aadc0], 0x500c01
jmp 0x43e636
mov eax, dword [0x4a1bf0]
xor eax, 0x9a4fa8e9
mov dword [0x4a1bf0], eax
mov eax, 0x6a9dceff
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xcc]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x8c]
imul edx, esi
sub ecx, edx
mov dword [esp + 0x84], ecx
mov di, word [0x492ff6]
mov cx, di
add ecx, 0x4008000
mov di, cx
mov word [0x492ff6], di
mov ecx, dword [esp + 0x84]
shl ecx, 0x10
mov dword [esp + 0x84], ecx
mov di, word [0x4905b8]
mov cx, di
add ecx, 0x3fdd6146
mov di, cx
mov word [0x4905b8], di
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xcc]
movzx ecx, word [edx + ecx*4 - 2]
mov edx, dword [esp + 0x84]
or edx, ecx
mov dword [esp + 0x84], edx
mov di, word [0x498928]
mov cx, di
add ecx, 0xc7d3ce14
mov di, cx
mov word [0x498928], di
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x80]
imul ecx, edx
mov dword [esp + 0x74], ecx
mov ecx, dword [0x4a8a58]
shl ecx, 7
and ecx, 0x71418311
cmp eax, ecx
je 0x43e734
mov eax, dword [0x4a4a5c]
add eax, 0x777762f0
mov ecx, dword [0x4a5c90]
sar ecx, 5
or eax, ecx
mov ecx, dword [0x4a4a14]
xor ecx, eax
mov dword [0x4a4a14], ecx
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x74]
jae 0x43e82d
mov ax, word [0x497b50]
movsx ecx, ax
shl ecx, 4
mov edx, dword [0x4a6014]
xor ecx, edx
xor ecx, 0xfa399077
mov dword [0x4a6014], ecx
mov ecx, dword [esp + 0x8c]
dec ecx
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x84]
add edx, ecx
mov dword [esp + 0x84], edx
mov ax, word [0x49386a]
mov cx, ax
add ecx, ecx
and ecx, 4
mov ax, word [0x48fe90]
mov dx, ax
or ecx, edx
or ecx, 0x755a
mov ax, cx
mov word [0x48fe90], ax
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x78]
mov byte [esp + 0x4b], cl
jb 0x43e7db
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x74]
setb cl
mov byte [esp + 0x4b], cl
mov al, byte [esp + 0x4b]
test al, 1
jne 0x43e7ec
jmp 0x43e814
mov eax, dword [esp + 0x8c]
add eax, 0xffffffff
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x84]
mov dword [esp + 0x84], eax
jmp 0x43e7b0
mov ax, word [0x490948]
movsx ecx, ax
not ecx
mov edx, dword [0x4ac26c]
or edx, ecx
mov dword [0x4ac26c], edx
mov eax, dword [0x49af28]
and eax, 0xbde48025
xor eax, 0xd8f7eada
cmp eax, 0xe6ce7d7f
je 0x43e851
mov dword [0x4ac644], 0x2eefbc99
mov eax, 0x470c0dc9
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x84]
sub edx, ecx
mov dword [esp + 0x84], edx
mov si, word [0x497e96]
mov cx, si
dec ecx
mov si, cx
mov word [0x497e96], si
movsx ecx, si
sub ecx, 0xbc1b1e68
cmp eax, ecx
jne 0x43e8bc
mov eax, dword [0x4a4c60]
mov ecx, eax
inc ecx
mov dword [0x4a4c60], ecx
mov ecx, 0x2716e6b1
sub ecx, eax
xor ecx, 0xfbb08e80
mov eax, dword [0x4a74a0]
or eax, ecx
mov dword [0x4a74a0], eax
jmp 0x43e8d9
mov ax, word [0x496c4e]
movsx ecx, ax
and ecx, 0x2fc85cf3
mov edx, dword [0x4aa3e8]
or ecx, edx
mov dword [0x4a5020], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x7c]
xor edx, edx
div ecx
mov dword [esp + 0x90], eax
mov eax, dword [0x4a56b4]
sar eax, 3
mov ecx, 0x70732f1f
sub ecx, eax
or ecx, 0x696fb2ce
mov eax, dword [0x4a5a4c]
xor eax, 0xb4d3f2bc
cmp ecx, eax
je 0x43e933
mov ax, word [0x492590]
movsx ecx, ax
and ecx, 0x6621fb25
mov edx, dword [0x4ac034]
xor edx, ecx
mov dword [0x4ac034], edx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x90]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [0x49fbe8]
add eax, 0xbff788b1
mov ecx, dword [0x4a52e8]
mov edx, ecx
dec edx
mov dword [0x4a52e8], edx
and ecx, 0x4a99ba78
cmp eax, ecx
je 0x43e98b
mov eax, dword [0x4a0598]
mov ecx, dword [0x4ab58c]
xor ecx, eax
mov dword [0x4ab58c], ecx
mov eax, dword [esp + 0x88]
shl eax, 0x10
mov dword [esp + 0x88], eax
mov eax, dword [0x49ab28]
xor eax, 0xa40d2066
mov dword [0x49ab28], eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xcc]
movzx eax, word [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x88]
or ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x4a8b00]
mov ecx, eax
inc ecx
mov dword [0x4a8b00], ecx
or eax, 0xc146a5cc
cmp eax, 0x2257f9ef
jg 0x43ea04
mov ax, word [0x498552]
mov cx, ax
and ecx, 0x300b
mov ax, cx
mov word [0x498552], ax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
imul eax, ecx
mov dword [esp + 0x74], eax
mov dx, word [0x4925de]
mov ax, dx
dec eax
mov dx, ax
mov word [0x4925de], dx
movsx eax, dx
imul eax, eax, 0x76470f0a
add eax, 0x2083311d
mov ecx, dword [0x4ad07c]
imul ecx, eax
mov dword [0x4ad07c], ecx
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x74]
jae 0x43eb1a
mov eax, dword [0x49a644]
add eax, 0xb84e7539
mov dword [0x49a644], eax
mov eax, dword [esp + 0x90]
dec eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x88]
add ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x4a4108]
dec eax
mov dword [0x4a4108], eax
mov ecx, dword [0x49fc88]
or ecx, eax
mov dword [0x49fc88], ecx
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x78]
mov byte [esp + 0x4a], cl
jb 0x43ead2
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x74]
setb cl
mov byte [esp + 0x4a], cl
mov al, byte [esp + 0x4a]
test al, 1
jne 0x43eae3
jmp 0x43eb0b
mov eax, dword [esp + 0x90]
add eax, 0xffffffff
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x88]
mov dword [esp + 0x88], eax
jmp 0x43eaa7
mov eax, dword [0x49b9c8]
xor eax, 0x738e2dd7
mov dword [0x49b9c8], eax
mov eax, dword [0x49e9c8]
add eax, 0xd2cafefc
mov cx, word [0x49188a]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49188a], cx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x88]
sub edx, eax
mov dword [esp + 0x88], edx
mov eax, dword [0x4a5780]
xor eax, 0x4c6a9763
mov dword [0x4a5780], eax
mov eax, dword [esp + 0x8c]
shl eax, 0x10
mov edx, dword [esp + 0x90]
or eax, edx
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + 0xd4]
sub edx, esi
mov esi, dword [esp + 0xb4]
mov dword [esi + edx*4 - 4], eax
mov cx, word [0x495526]
mov ax, cx
dec eax
mov di, ax
mov word [0x495526], di
movsx eax, cx
mov edx, dword [0x4a9590]
imul edx, eax
mov dword [0x4a9590], edx
mov eax, 0xedfd6ffb
mov ecx, dword [0x49d298]
add ecx, 0xa0a82191
mov dword [0x49d298], ecx
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xd4]
sub ecx, edx
mov edx, dword [esp + 0xb4]
mov esi, dword [edx + ecx*4 - 4]
inc esi
mov dword [edx + ecx*4 - 4], esi
mov ecx, dword [0x4a6d20]
dec ecx
mov dword [0x4a6d20], ecx
sub ecx, 0x965e6f48
cmp eax, ecx
jle 0x43ec1d
mov eax, dword [0x49fadc]
mov ecx, dword [0x4ab4f8]
imul eax, ecx
imul eax, eax, 0x18a4800
mov dword [0x4ab4f8], eax
jmp 0x43ec22
lea eax, [esp + 0xa0]
xor ecx, ecx
mov edx, dword [0x49df24]
and edx, 0xd4022ae7
mov esi, dword [0x49af44]
xor esi, edx
mov dword [0x49af44], esi
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + 0xd4]
sub edx, esi
mov esi, dword [esp + 0xb4]
mov edi, dword [esi + edx*4 - 4]
dec edi
mov dword [esi + edx*4 - 4], edi
mov edx, dword [0x49a28c]
xor edx, 0xfbe3e782
mov dword [0x49a28c], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x44], ecx
call fcn.00442440
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43eca0
jmp 0x43f51f
mov eax, dword [0x49db08]
imul eax, eax, 0xc6b022d5
mov dword [0x49db08], eax
cmp dword [esp + 0xd4], 1
jge 0x43ecc9
xor eax, eax
mov dword [esp + 0x40], eax
jmp 0x43ece1
mov eax, dword [esp + 0xd4]
sub eax, 1
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0xa0]
mov edx, dword [esp + 0xa8]
mov dword [edx], eax
mov eax, dword [0x4a8678]
mov edx, dword [0x4a2794]
and eax, edx
mov si, word [0x498b2e]
mov dx, si
imul edx, eax
mov si, dx
mov word [0x498b2e], si
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0xc0]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xa8]
mov dword [edx + 4], eax
mov si, word [0x492a0a]
movsx eax, si
or eax, 0xdb10f3ad
mov edx, dword [0x49ba7c]
add edx, eax
mov dword [0x49ba7c], edx
mov eax, dword [esp + 0xdc]
sub eax, dword [esp + 0xd4]
sub eax, 1
mov edx, dword [esp + 0xb4]
mov eax, dword [edx + eax*4]
mov dword [esp], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00419280
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43ed91
jmp 0x43f51f
lea eax, [esp + 0x94]
xor ecx, ecx
mov dx, word [0x496c10]
mov si, dx
add esi, 0x8bff4243
mov dx, si
mov word [0x496c10], dx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x3c], ecx
call fcn.00442440
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43eddd
jmp 0x43f51f
mov eax, dword [0x49ad48]
mov cx, word [0x4985fe]
movsx edx, cx
not edx
or eax, edx
mov edx, dword [0x4a49c4]
add edx, eax
mov dword [0x4a49c4], edx
cmp dword [esp + 0xdc], 2
jge 0x43ee17
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x43ee2f
mov eax, dword [esp + 0xdc]
sub eax, 2
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x9c]
mov dword [ecx], eax
mov eax, dword [0x49bb74]
and eax, 0xbbfde9da
mov dword [0x49bb74], eax
cmp dword [esp + 0xdc], 1
jge 0x43ee64
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x43ee7c
mov eax, dword [esp + 0xdc]
sub eax, 1
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 4], eax
mov eax, dword [0x4a6b60]
add eax, 0x7c784365
mov dword [0x4a6b60], eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 8], eax
mov eax, dword [0x4a53d8]
or eax, 0xa76fdebc
mov dword [0x4a53d8], eax
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041a640
cmp eax, 0
jg 0x43ec22
lea eax, [esp + 0xa0]
lea ecx, [esp + 0xb8]
mov edx, dword [0x4a15e4]
add edx, 0xad63d6b2
mov dword [0x4a15e4], edx
mov edx, dword [esp + 0xdc]
sub edx, dword [esp + 0xd4]
sub edx, 1
mov esi, dword [esp + 0xb4]
mov edx, dword [esi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00419280
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43ef46
jmp 0x43f51f
lea eax, [esp + 0xa0]
mov cx, word [0x4916a8]
mov dx, cx
or edx, 0x7abf
mov cx, dx
mov word [0x4916a8], cx
mov edx, dword [esp + 0xdc]
sub edx, dword [esp + 0xd4]
sub edx, 1
shl edx, 5
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0044ec00
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43ef9c
jmp 0x43f51f
lea eax, [esp + 0xc4]
lea ecx, [esp + 0xa0]
mov edx, dword [0x49ceac]
imul edx, edx, 0x6b0b7ade
mov esi, dword [0x49b4f8]
not esi
or edx, esi
mov esi, dword [0x4a6bc8]
or esi, edx
mov dword [0x4a6bc8], esi
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044dff0
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43eff3
jmp 0x43f51f
mov eax, 0x67296b58
mov ecx, dword [0x4a52a4]
or ecx, 0x46b6a34
cmp eax, ecx
je 0x43f024
mov ax, word [0x49213c]
movsx ecx, ax
sar ecx, 2
or ecx, 0x8319402
mov dword [0x4aad1c], ecx
lea eax, [esp + 0xc4]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x30], ecx
call fcn.0041cec0
cmp eax, 0
jge 0x43f1fd
lea eax, [esp + 0xa0]
lea ecx, [esp + 0xb8]
mov edx, dword [0x4abd54]
add edx, 0xfffebff6
mov dword [0x4abd54], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00440790
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43f08b
jmp 0x43f51f
mov eax, 0xd62a79e5
mov cx, word [0x491a6a]
mov dx, cx
dec edx
mov si, dx
mov word [0x491a6a], si
movsx edx, cx
cmp eax, edx
jl 0x43f0cd
mov ax, word [0x48fdaa]
movsx ecx, ax
or ecx, 0xccf2ac07
mov edx, dword [0x4a1a10]
add edx, ecx
mov dword [0x4a1a10], edx
lea eax, [esp + 0xa0]
mov ecx, dword [esp + 0xdc]
sub ecx, dword [esp + 0xd4]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044ec00
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43f109
jmp 0x43f51f
lea eax, [esp + 0xc4]
lea ecx, [esp + 0xa0]
mov edx, dword [0x4a7638]
mov esi, dword [0x49d93c]
shl esi, 7
xor edx, esi
not edx
mov esi, dword [0x4a7ee8]
or edx, esi
or edx, 0x6b139abd
mov dword [0x4a7ee8], edx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0043f730
mov dword [esp + 0xe0], eax
cmp eax, 0
je 0x43f163
jmp 0x43f51f
mov eax, 0xc5c61e16
mov ecx, dword [0x4a4d38]
mov edx, ecx
dec edx
mov dword [0x4a4d38], edx
cmp eax, ecx
jg 0x43f1c4
mov ax, word [0x492368]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x492368], dx
movsx ecx, ax
cmp ecx, 0xf5c7d984
je 0x43f1bf
mov eax, 0xf5febdff
mov ecx, dword [0x4a3a08]
cmp eax, ecx
jle 0x43f1ba
jmp 0x43f1ba
jmp 0x43f1bf
jmp 0x43f1c4
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd4]
sub eax, ecx
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + eax*4 - 4]
dec edx
mov dword [ecx + eax*4 - 4], edx
mov si, word [0x495ff4]
mov ax, si
xor eax, 0x2bd0
mov si, ax
mov word [0x495ff4], si
mov eax, dword [0x49d190]
xor eax, 0x84b45017
mov dword [0x49d190], eax
mov eax, dword [esp + 0xdc]
add eax, 0xffffffff
mov dword [esp + 0xdc], eax
jmp 0x43e44d
mov eax, dword [0x4a59f8]
dec eax
mov dword [0x4a59f8], eax
xor eax, 0xa3892421
mov dword [0x4ac9e4], eax
cmp dword [esp + 0xe4], 0
je 0x43f364
mov eax, 0xc0541202
mov cx, word [0x494042]
movsx edx, cx
xor edx, 0xa57ad8d7
mov esi, dword [0x49ad40]
add esi, edx
mov dword [0x49ad40], esi
mov edx, dword [esp + 0xe4]
mov esi, esp
lea edi, [esp + 0xac]
mov dword [esi + 4], edi
mov dword [esi], edx
mov dword [esp + 0x2c], eax
call fcn.00440790
mov dword [0x4a2c48], 0xdadd352d
mov edx, dword [esp + 0xec]
mov edx, dword [edx]
mov esi, dword [esp + 0xf0]
mov esi, dword [esi]
imul edx, esi
mov esi, dword [esp + 0xe4]
mov dword [esi], edx
mov cx, word [0x491c8c]
mov dx, cx
inc edx
mov cx, dx
mov word [0x491c8c], cx
movsx edx, cx
mov esi, dword [0x4a6c34]
mov edi, esi
dec edi
mov dword [0x4a6c34], edi
add edx, esi
add edx, 0x1c243917
mov esi, dword [esp + 0x2c]
cmp esi, edx
mov dword [esp + 0x28], eax
jge 0x43f35f
mov eax, 0xcf7d7fbf
mov ecx, dword [0x4a8e90]
and ecx, 0xb8c20608
cmp eax, ecx
jl 0x43f32f
mov eax, 0xbdb6e791
mov ecx, dword [0x4aa870]
sub ecx, 0xf637e4bc
or ecx, 0x678bb660
cmp eax, ecx
jg 0x43f32a
jmp 0x43f32a
jmp 0x43f35a
mov eax, 0x7fb675d9
mov ecx, dword [0x4acd38]
shl ecx, 6
imul ecx, ecx, 0xc3627cf8
cmp eax, ecx
je 0x43f350
jmp 0x43f355
jmp 0x43f355
jmp 0x43f35a
jmp 0x43f35f
jmp 0x43f364
mov eax, dword [0x4a74a0]
add eax, 0x6291df2
mov dword [0x4a74a0], eax
cmp dword [esp + 0xe8], 0
je 0x43f515
mov eax, 0x4ee8e0ab
mov ecx, dword [0x4ab7bc]
or ecx, 0xccba86c6
cmp eax, ecx
jg 0x43f3e1
mov eax, 0xc42ba0b2
mov ecx, dword [0x4a555c]
mov edx, dword [0x4a14b8]
mov esi, edx
inc esi
mov dword [0x4a14b8], esi
mov esi, dword [0x4abe74]
inc esi
mov dword [0x4abe74], esi
and edx, esi
or ecx, edx
cmp eax, ecx
jl 0x43f3dc
mov eax, dword [0x4a5b18]
and eax, 0x5dc9da1d
mov dword [0x4a5b18], eax
jmp 0x43f3e1
mov eax, 0x5b9625c
mov ecx, dword [esp + 0xd0]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xc4]
mov dword [edx], ecx
mov dword [esp + 0x24], eax
call fcn.00439e30
mov si, word [0x49486a]
movsx ecx, si
xor ecx, 0x82861882
or ecx, 0xb5898ff7
mov edx, dword [esp + 0x24]
cmp edx, ecx
mov dword [esp + 0x20], eax
jl 0x43f439
mov eax, dword [0x49ad38]
and eax, 0xa134e152
mov dword [0x49ad38], eax
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov edx, esp
lea esi, [esp + 0xc4]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [esp + 0x1c], eax
call fcn.00440790
mov di, word [0x499764]
mov cx, di
add ecx, 0x2924c85a
mov di, cx
mov word [0x499764], di
mov ecx, dword [esp + 0xec]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xe8]
mov dword [edx], ecx
mov ecx, dword [0x4a86b8]
xor ecx, 0xcac98e3
mov dword [0x4a86b8], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
call fcn.0041cec0
cmp eax, 0
jne 0x43f4c8
mov eax, dword [esp + 0xe8]
mov dword [eax], 1
mov eax, 0xf535868a
mov ecx, dword [0x4a30c8]
sub eax, ecx
cmp eax, 0xfefe3dae
jge 0x43f510
mov ax, word [0x492642]
mov cx, ax
mov ax, word [0x4922e6]
mov dx, ax
xor ecx, edx
mov ax, cx
movsx ecx, ax
not ecx
or ecx, 0x246daec
mov edx, dword [0x4a9998]
xor edx, ecx
mov dword [0x4a9998], edx
jmp 0x43f515
mov dword [0x4a35c4], 0x4182c2d
mov eax, esp
lea ecx, [esp + 0x94]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xa0]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xac]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xb8]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xc4]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.00444ca0
mov eax, dword [0x49d1c8]
mov ecx, eax
dec ecx
mov dword [0x49d1c8], ecx
mov ecx, dword [0x49b9a0]
lea eax, [ecx + eax - 1]
mov dword [0x49b9a0], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xf4]
add esp, 0xf8
pop esi
pop edi
pop ebx
ret