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

Disassembly:
push ebx
push edi
push esi
sub esp, 0xf4
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
mov esi, dword [esp + 0x104]
mov edi, 0x7e5bf7fd
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe0], esi
mov eax, dword [0x499468]
mov ecx, eax
dec ecx
mov dword [0x499468], ecx
mov ecx, dword [0x497398]
imul eax, ecx
cmp edi, eax
jg 0x42d76e
mov eax, dword [0x49c35c]
dec eax
mov dword [0x49c35c], eax
or eax, 0x1309ec86
cmp eax, 0xa12884cd
jg 0x42d769
mov word [0x49306e], 0xf3e7
jmp 0x42d76e
xor eax, eax
mov ecx, dword [0x497dfc]
sar ecx, 0xa
or ecx, 0x51ffded3
mov edx, dword [0x4953ac]
imul edx, ecx
mov dword [0x4953ac], edx
mov ecx, dword [0x494c58]
add ecx, 0x47a8bbe2
mov dword [0x494c58], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x6c], eax
call fcn.0041fd10
cmp eax, 0
jne 0x42d7d4
mov dword [esp + 0xf0], 0xfffffff4
jmp 0x42ef8b
mov eax, 0x273ee07e
mov ecx, dword [0x49c5b0]
or ecx, 0x62d9bfbf
mov dword [0x49c5b0], ecx
mov ecx, esp
lea edx, [esp + 0x90]
mov dword [ecx + 0x10], edx
lea edx, [esp + 0x9c]
mov dword [ecx + 0xc], edx
lea edx, [esp + 0xa8]
mov dword [ecx + 8], edx
lea edx, [esp + 0xb4]
mov dword [ecx + 4], edx
lea edx, [esp + 0xc0]
mov dword [ecx], edx
mov dword [ecx + 0x14], 0
mov dword [esp + 0x68], eax
call fcn.00446850
mov si, word [0x490ce4]
mov ax, si
dec eax
mov di, ax
mov word [0x490ce4], di
movsx eax, si
xor eax, 0xb6bc71e5
xor eax, 0x8d26bd64
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jg 0x42d88f
mov eax, dword [0x4965d8]
cmp eax, 0x2ce2deb3
jle 0x42d880
mov eax, dword [0x494e18]
xor eax, 0xec748232
mov dword [0x494e18], eax
jmp 0x42d88a
mov dword [0x496808], 0x6201040
jmp 0x42d88f
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040fc50
cmp eax, 0
jge 0x42d98a
mov ax, word [0x48fd92]
movsx ecx, ax
shr ecx, 3
mov edx, dword [0x49b61c]
and ecx, edx
and ecx, 0x40034
mov dword [0x49b61c], ecx
cmp dword [esp + 0xe0], 0
je 0x42d917
xor eax, eax
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x64], eax
call fcn.0042ce50
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42d912
jmp 0x42ef2f
jmp 0x42d917
mov eax, dword [0x497914]
sar eax, 4
add eax, 0xbbffff57
mov dword [0x499530], eax
cmp dword [esp + 0xe4], 0
je 0x42d96b
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041edf0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42d966
jmp 0x42ef2f
jmp 0x42d96b
mov eax, dword [0x498114]
add eax, 0x725874e0
mov dword [0x498114], eax
mov dword [esp + 0xf0], 0
jmp 0x42ef8b
lea eax, [esp + 0xc0]
mov ecx, dword [0x49b264]
or ecx, 0x1810500
mov dword [0x49b264], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041edf0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42d9cb
jmp 0x42ef2f
lea eax, [esp + 0xb4]
mov cx, word [0x491c1a]
mov dx, cx
and edx, 0xeaae
mov cx, dx
mov word [0x491c1a], cx
mov edx, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041edf0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42da14
jmp 0x42ef2f
lea eax, [esp + 0xa8]
mov ecx, dword [0x4964d0]
and ecx, 0x363f64fb
mov dword [0x4964d0], ecx
mov dword [esp + 0xb4], 1
mov dword [esp + 0xc0], 1
mov ecx, dword [0x4966f4]
and ecx, 0xa9cfb769
mov dword [0x4966f4], ecx
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx + 4]
add ecx, 2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004356c0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42da83
jmp 0x42ef2f
lea eax, [esp + 0xa8]
xor ecx, ecx
mov edx, dword [0x49ba10]
add edx, 0xe71e99f8
mov dword [0x496524], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x60], ecx
call fcn.0042ce50
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42dac7
jmp 0x42ef2f
lea eax, [esp + 0x9c]
mov ecx, 2
mov edx, dword [0x499378]
mov esi, dword [0x498bac]
or esi, edx
mov dword [0x498bac], esi
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x5c], ecx
call fcn.004356c0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42db10
jmp 0x42ef2f
mov eax, 0x3d24997f
mov ecx, dword [0x49c7a0]
sar ecx, 2
cmp eax, ecx
jne 0x42db35
mov eax, dword [0x49b7a4]
and eax, 0xb8c18774
mov dword [0x49b7a4], eax
lea eax, [esp + 0x90]
mov ecx, 3
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x58], ecx
call fcn.004356c0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42db6a
jmp 0x42ef2f
mov eax, dword [0x498658]
add eax, 0xa2f2d3d5
mov dword [0x498658], eax
mov eax, esp
lea ecx, [esp + 0xb4]
mov dword [eax], ecx
call fcn.00450a70
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
mov edx, eax
add edx, ecx
and edx, 0xffffffe0
sub eax, edx
mov dword [esp + 0xcc], eax
mov eax, dword [0x49b9e4]
mov ecx, dword [0x49a5e8]
cmp eax, ecx
jl 0x42dbc8
mov eax, dword [0x4974ec]
add eax, 0x584420c0
mov dword [0x4974ec], eax
jmp 0x42dc14
mov eax, 0x46e31da4
mov cx, word [0x48f634]
movsx edx, cx
cmp eax, edx
je 0x42dbf3
mov eax, dword [0x494fe0]
add eax, 0x86b5b62
mov dword [0x494fe0], eax
jmp 0x42dc0f
mov eax, dword [0x49a238]
mov ecx, eax
inc ecx
mov dword [0x49a238], ecx
mov ecx, dword [0x494d0c]
and ecx, eax
mov dword [0x494d0c], ecx
jmp 0x42dc14
cmp dword [esp + 0xcc], 0x1f
jge 0x42dd59
lea eax, [esp + 0xc0]
mov ecx, dword [0x49b800]
and ecx, 0x2de4122b
mov dword [0x49b800], ecx
mov ecx, dword [esp + 0xcc]
mov edx, 0x1f
sub edx, ecx
mov dword [esp + 0xcc], edx
mov ecx, dword [0x4987f0]
inc ecx
mov dword [0x4987f0], ecx
mov dword [0x497158], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ec00
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42dc8b
jmp 0x42ef2f
mov eax, dword [0x499d90]
cmp eax, 0x26860695
je 0x42dce3
mov ax, word [0x48fa48]
movsx ecx, ax
add ecx, 0x9bba09b8
xor ecx, 0xe934676
mov edx, dword [0x497cac]
imul edx, edx, 0x15b1927c
cmp ecx, edx
jl 0x42dcde
mov eax, dword [0x495fc0]
sar eax, 1
mov ecx, 0x597cff4f
sub ecx, eax
mov eax, dword [0x499e10]
xor eax, ecx
mov dword [0x499e10], eax
jmp 0x42dce3
lea eax, [esp + 0xb4]
mov ecx, dword [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ec00
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42dd12
jmp 0x42ef2f
mov ax, word [0x491706]
movsx ecx, ax
mov edx, dword [0x4963c4]
not edx
mov esi, dword [0x4999e8]
and edx, esi
xor ecx, edx
mov edx, dword [0x498244]
mov esi, edx
inc esi
mov dword [0x498244], esi
imul edx, edx, 0x86bb53da
cmp ecx, edx
jle 0x42dd54
mov dword [0x494268], 0x63607cd2
jmp 0x42dd64
mov dword [esp + 0xcc], 0
mov eax, 0x41fa7e40
mov ecx, dword [0x49aa64]
mov edx, ecx
dec edx
mov dword [0x49aa64], edx
add ecx, 0xfbe7a3ea
mov edx, dword [0x495fbc]
imul edx, ecx
mov dword [0x495fbc], edx
mov ecx, dword [esp + 0xc4]
dec ecx
mov dword [esp + 0xd4], ecx
mov ecx, dword [0x499790]
add ecx, 0xc1252a1b
mov dword [0x499790], ecx
mov ecx, dword [esp + 0xb8]
dec ecx
mov dword [esp + 0xd0], ecx
mov si, word [0x492e22]
mov cx, si
inc ecx
mov di, cx
mov word [0x492e22], di
movsx ecx, si
imul ecx, ecx, 0xc47a521c
and ecx, 0x611c6b1c
cmp eax, ecx
jle 0x42ddf3
mov dword [0x499c7c], 0x9e214254
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
sub eax, ecx
shl eax, 5
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xb4]
mov dword [ecx], eax
call fcn.0043ec00
mov ecx, dword [0x49ac44]
or ecx, 0x6ecedbbd
mov dword [0x49ac44], ecx
mov dword [esp + 0x54], eax
lea eax, [esp + 0xc0]
lea ecx, [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00438af0
cmp eax, 0
jl 0x42df17
mov eax, dword [0x494698]
not eax
and eax, 0x800006b8
mov ecx, dword [0x496db0]
xor ecx, 0x28010c60
cmp eax, ecx
jg 0x42dea2
mov ax, word [0x492a14]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x492a14], ax
movsx ecx, ax
imul ecx, ecx, 0x50551add
xor ecx, 0x116c0a20
mov edx, dword [0x4990d8]
sub edx, ecx
mov dword [0x4990d8], edx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
sub eax, ecx
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + eax*4]
inc edx
mov dword [ecx + eax*4], edx
mov eax, dword [0x49a384]
mov si, word [0x492676]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x492676], si
mov eax, esp
lea ecx, [esp + 0xb4]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xc0]
mov dword [eax + 4], ecx
mov dword [eax], ecx
call fcn.00436900
mov ecx, dword [0x496724]
mov edx, dword [0x495c00]
xor ecx, edx
not ecx
mov dword [0x495c00], ecx
mov dword [esp + 0x50], eax
jmp 0x42de2f
mov ax, word [0x49281e]
movsx ecx, ax
shl ecx, 5
xor ecx, 0x8fb8d31a
mov dword [0x496ba4], ecx
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
sub ecx, edx
shl ecx, 5
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xb4]
mov dword [edx], ecx
call fcn.00428c80
mov ecx, dword [0x499e70]
mov edx, dword [0x494394]
shl edx, 8
sub ecx, edx
mov si, word [0x490ad4]
movsx edx, si
sub edx, 0xaf7f18ba
sub edx, 0x1a51c46a
cmp ecx, edx
mov dword [esp + 0x4c], eax
je 0x42df97
mov ax, word [0x4901d6]
movsx ecx, ax
mov dword [0x497c48], ecx
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xd8]
cmp eax, dword [esp + 0xd0]
jle 0x42ecdc
mov eax, dword [0x4968ec]
and eax, 0xf496273c
mov dword [0x4968ec], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xbc]
cmp eax, dword [edx + ecx*4]
jb 0x42e014
mov eax, dword [esp + 0xd8]
sub eax, dword [esp + 0xd0]
sub eax, 1
mov ecx, dword [esp + 0xb0]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x42e658
mov eax, 0x77fd9f5f
mov cx, word [0x493756]
mov dx, cx
add edx, 0x7f4d5e43
mov cx, dx
mov word [0x493756], cx
mov edx, dword [0x498b74]
mov esi, dword [0x4954a0]
inc esi
mov dword [0x4954a0], esi
and esi, 0x608a4873
or edx, esi
mov dword [0x49a4a8], edx
mov edx, dword [0x4941d4]
cmp eax, edx
jle 0x42e076
mov eax, dword [0x497034]
xor eax, 0xfbaac7ef
mov dword [0x497034], eax
jmp 0x42e0b8
mov ax, word [0x490e70]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x490e70], ax
movsx ecx, ax
add ecx, 0x389e8471
and ecx, 0xf59e0357
cmp ecx, 0x5131a84c
jg 0x42e0b3
mov eax, dword [0x4971d8]
add eax, 0xb929a3d2
mov dword [0x4971d8], eax
jmp 0x42e0b8
mov eax, 0xb97e26f7
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xbc]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x74], ecx
mov ecx, dword [0x49ba00]
add ecx, 0x577848f4
mov dword [0x49ba00], ecx
movzx ecx, word [esp + 0x74]
mov dword [esp + 0x7c], ecx
mov si, word [0x4936a0]
mov cx, si
and ecx, 0xa746
mov si, cx
mov word [0x4936a0], si
movzx ecx, word [esp + 0x76]
mov dword [esp + 0x78], ecx
mov si, word [0x48f888]
mov cx, si
imul ecx, ecx, 0x1ae855d5
mov si, cx
mov word [0x48f888], si
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xc8]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x78]
xor edi, edi
mov dword [esp + 0x48], eax
mov eax, ecx
mov dword [esp + 0x44], edx
mov edx, edi
mov ecx, dword [esp + 0x44]
div ecx
mov dword [esp + 0x88], eax
mov eax, dword [0x496264]
mov si, word [0x490db2]
mov cx, si
imul eax, ecx
imul eax, eax, 0xbc4a0270
mov si, ax
mov word [0x490db2], si
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x88]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x80], eax
mov eax, dword [0x4983d8]
add eax, 0x6a3e094
or eax, 0xeafb78c5
mov ecx, dword [0x493e0c]
xor ecx, eax
mov dword [0x493e0c], ecx
mov eax, dword [esp + 0x80]
shl eax, 0x10
mov dword [esp + 0x80], eax
mov eax, dword [0x49c1dc]
and eax, 0x894abb17
mov dword [0x49c1dc], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc8]
movzx eax, word [ecx + eax*4 - 2]
mov ecx, dword [esp + 0x80]
or ecx, eax
mov dword [esp + 0x80], ecx
mov eax, dword [0x4990a4]
add eax, 0xfde98b6c
mov dword [0x4990a4], eax
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x7c]
imul eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [0x495e14]
inc eax
mov dword [0x495e14], eax
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jle 0x42e246
mov dword [0x49bdb0], 0x803011ca
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x70]
jae 0x42e37b
mov eax, 0x2e9a875e
mov ecx, dword [0x49a0b8]
sar ecx, 3
or ecx, 0xf37f9d8c
cmp eax, ecx
jg 0x42e2b8
mov eax, 0x670ff4a5
mov cx, word [0x490282]
mov dx, cx
dec edx
mov si, dx
mov word [0x490282], si
movsx edx, cx
and edx, 0x46af9799
and edx, 0x14a41b7f
cmp eax, edx
jl 0x42e2b3
mov eax, dword [0x49a8bc]
or eax, 0x1e24f087
mov dword [0x49a8bc], eax
jmp 0x42e2b8
mov eax, 0x26bcc8b9
mov ecx, dword [esp + 0x88]
dec ecx
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x80]
add edx, ecx
mov dword [esp + 0x80], edx
mov ecx, dword [0x49a3b4]
sub ecx, 0x8787ef8e
cmp eax, ecx
jl 0x42e303
mov eax, dword [0x497afc]
add eax, 0xd78682ca
mov dword [0x497afc], eax
jmp 0x42e308
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x74]
mov byte [esp + 0x43], cl
jb 0x42e333
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x70]
setb cl
mov byte [esp + 0x43], cl
mov al, byte [esp + 0x43]
test al, 1
jne 0x42e344
jmp 0x42e36c
mov eax, dword [esp + 0x88]
add eax, 0xffffffff
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x80]
mov dword [esp + 0x80], eax
jmp 0x42e308
mov eax, dword [0x495b5c]
xor eax, 0xf07334a2
mov dword [0x495b5c], eax
mov eax, dword [0x4941a4]
xor eax, 0x9061201
mov dword [0x4941a4], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
sub ecx, eax
mov dword [esp + 0x80], ecx
mov eax, dword [0x49933c]
xor eax, 0xaebde95b
mov dword [0x49933c], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
xor edx, edx
div ecx
mov dword [esp + 0x8c], eax
mov eax, dword [0x493c44]
xor eax, 0x2fcb77e4
mov dword [0x493c44], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x8c]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x84], eax
mov si, word [0x48fa96]
movsx eax, si
xor eax, 0x1d909b78
mov ecx, dword [0x49aa18]
sub ecx, eax
mov dword [0x49aa18], ecx
mov eax, dword [esp + 0x84]
shl eax, 0x10
mov dword [esp + 0x84], eax
mov eax, dword [0x4943f8]
add eax, 0xe94e6a5b
mov dword [0x4943f8], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc8]
movzx eax, word [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x84]
or ecx, eax
mov dword [esp + 0x84], ecx
mov eax, dword [0x497868]
mov ecx, eax
dec ecx
mov dword [0x497868], ecx
or eax, 0xf9ffb77d
mov ecx, dword [0x4981dc]
add ecx, eax
mov dword [0x4981dc], ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x7c]
imul eax, ecx
mov dword [esp + 0x70], eax
mov dword [0x498fc4], 0x6fb7c557
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x70]
jae 0x42e5a1
mov eax, dword [0x4995dc]
add eax, 0xe3d54595
and eax, 0xeecf
mov cx, word [0x48fa22]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x48fa22], cx
mov eax, dword [esp + 0x8c]
dec eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x84]
add edx, eax
mov dword [esp + 0x84], edx
mov eax, dword [0x4996d4]
imul eax, eax, 0xac158baf
mov edx, dword [0x49b760]
add eax, edx
mov cx, word [0x491794]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x491794], cx
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x74]
mov byte [esp + 0x42], cl
jb 0x42e53a
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x70]
setb cl
mov byte [esp + 0x42], cl
mov al, byte [esp + 0x42]
test al, 1
jne 0x42e54b
jmp 0x42e573
mov eax, dword [esp + 0x8c]
add eax, 0xffffffff
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x84]
mov dword [esp + 0x84], eax
jmp 0x42e50f
mov eax, dword [0x49a0a4]
mov ecx, eax
inc ecx
mov dword [0x49a0a4], ecx
xor eax, 0x1200
or eax, 0x28fc
mov dx, word [0x490c32]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x490c32], dx
mov eax, dword [0x494518]
or eax, 0xcc09963a
mov dword [0x494518], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x84]
sub ecx, eax
mov dword [esp + 0x84], ecx
mov eax, dword [0x498ba4]
mov ecx, dword [0x4969f0]
mov edx, ecx
inc edx
mov dword [0x4969f0], edx
sub eax, ecx
mov ecx, dword [0x494310]
dec ecx
mov dword [0x494310], ecx
or eax, ecx
mov ecx, dword [0x49c340]
or ecx, eax
mov dword [0x49c340], ecx
mov eax, dword [esp + 0x88]
shl eax, 0x10
mov ecx, dword [esp + 0x8c]
or eax, ecx
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd0]
sub ecx, edx
mov edx, dword [esp + 0xb0]
mov dword [edx + ecx*4 - 4], eax
mov eax, dword [0x49bf94]
xor eax, 0x799e9708
cmp eax, 0xc8918b39
jge 0x42e653
mov ax, word [0x4931b2]
movsx ecx, ax
mov edx, dword [0x495db0]
xor ecx, edx
not ecx
mov dword [0x495db0], ecx
jmp 0x42e658
mov eax, dword [0x498fec]
mov ecx, dword [0x495f60]
lea eax, [eax + ecx + 0x3524b3dd]
mov dword [0x495f60], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd0]
sub eax, ecx
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + eax*4 - 4]
inc edx
mov dword [ecx + eax*4 - 4], edx
mov si, word [0x493670]
mov ax, si
add eax, 0x4a05ea3b
mov si, ax
mov word [0x493670], si
mov eax, 0x815158d3
mov ecx, dword [0x499fd0]
mov dx, word [0x492dc6]
movsx esi, dx
xor esi, 0x266a72a7
or ecx, esi
cmp eax, ecx
jle 0x42e723
mov eax, 0xfe9d3592
mov cx, word [0x49299e]
movsx edx, cx
or edx, 0x5cffc90b
cmp eax, edx
jg 0x42e71e
mov eax, 0x72dd09ab
mov ecx, dword [0x49bb2c]
imul ecx, ecx, 0xd73bdecf
mov edx, dword [0x4972e8]
mov esi, edx
dec esi
mov dword [0x4972e8], esi
sub ecx, edx
cmp eax, ecx
je 0x42e719
jmp 0x42e719
jmp 0x42e71e
jmp 0x42e732
mov eax, dword [0x494358]
add eax, 0xf9b2e79
mov dword [0x494358], eax
lea eax, [esp + 0x9c]
xor ecx, ecx
mov edx, dword [esp + 0xd8]
mov esi, dword [esp + 0xd0]
sub edx, esi
mov esi, dword [esp + 0xb0]
mov edi, dword [esi + edx*4 - 4]
dec edi
mov dword [esi + edx*4 - 4], edi
mov edx, dword [0x49bae4]
shl edx, 6
mov bx, word [0x49239e]
mov si, bx
or esi, edx
mov bx, si
mov word [0x49239e], bx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x3c], ecx
call fcn.0042ce50
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42e7a3
jmp 0x42ef2f
mov eax, dword [0x497a3c]
inc eax
mov dword [0x497a3c], eax
mov cx, word [0x4907da]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4907da], cx
cmp dword [esp + 0xd0], 1
jge 0x42e7dd
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x42e7f5
mov eax, dword [esp + 0xd0]
sub eax, 1
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x9c]
mov edx, dword [esp + 0xa4]
mov dword [edx], eax
mov eax, dword [0x49bfb8]
mov dword [0x496510], eax
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xa4]
mov dword [edx + 4], eax
mov eax, dword [0x493904]
mov edx, 0x53c02037
sub edx, eax
mov si, word [0x48ff04]
movsx eax, si
and edx, eax
mov eax, dword [0x4947bc]
xor eax, edx
mov dword [0x4947bc], eax
mov eax, dword [esp + 0xd8]
sub eax, dword [esp + 0xd0]
sub eax, 1
mov edx, dword [esp + 0xb0]
mov eax, dword [edx + eax*4]
mov dword [esp], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041bed0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42e892
jmp 0x42ef2f
lea eax, [esp + 0x90]
xor ecx, ecx
mov edx, dword [0x499ab8]
mov esi, edx
dec esi
mov dword [0x499ab8], esi
add edx, 0x972fe802
xor edx, 0x17d1a445
mov esi, dword [0x498994]
sub esi, edx
mov dword [0x498994], esi
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x34], ecx
call fcn.0042ce50
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42e8ed
jmp 0x42ef2f
mov eax, dword [0x498210]
add eax, 0x133322ea
mov dword [0x498210], eax
cmp dword [esp + 0xd8], 2
jge 0x42e915
xor eax, eax
mov dword [esp + 0x30], eax
jmp 0x42e92d
mov eax, dword [esp + 0xd8]
sub eax, 2
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x98]
mov dword [ecx], eax
mov eax, dword [0x4944dc]
mov ecx, dword [0x493d68]
not ecx
add ecx, 0x25b7571a
xor eax, ecx
mov dx, ax
mov word [0x48ff58], dx
cmp dword [esp + 0xd8], 1
jge 0x42e972
xor eax, eax
mov dword [esp + 0x2c], eax
jmp 0x42e98a
mov eax, dword [esp + 0xd8]
sub eax, 1
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 4], eax
mov eax, dword [0x49587c]
xor eax, 0x58d4c6ba
mov dword [0x49587c], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 8], eax
mov eax, dword [0x4980f8]
mov ecx, dword [0x4963e0]
mov edx, ecx
inc edx
mov dword [0x4963e0], edx
imul ecx, ecx, 0x7883d0c6
sub eax, ecx
mov ecx, dword [0x49be90]
shl ecx, 9
and ecx, 0xef71d3ae
cmp eax, ecx
jle 0x42e9ff
mov dword [0x49c7ec], 0xdffffff7
jmp 0x42ea04
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00438af0
cmp eax, 0
jg 0x42e6a8
mov eax, 0x4d7a319b
mov cx, word [0x492e12]
mov dx, cx
dec edx
mov si, dx
mov word [0x492e12], si
movsx edx, cx
imul edx, edx, 0x944158d4
cmp eax, edx
je 0x42ea61
mov eax, dword [0x49c678]
add eax, 0xeb61493
mov dword [0x49c678], eax
lea eax, [esp + 0x9c]
lea ecx, [esp + 0xb4]
mov edx, dword [esp + 0xd8]
sub edx, dword [esp + 0xd0]
sub edx, 1
mov esi, dword [esp + 0xb0]
mov edx, dword [esi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0041bed0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42eaaf
jmp 0x42ef2f
lea eax, [esp + 0x9c]
mov word [0x48ff6e], 0xf5fb
mov ecx, dword [esp + 0xd8]
sub ecx, dword [esp + 0xd0]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ec00
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42eaf4
jmp 0x42ef2f
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x9c]
mov dx, word [0x490138]
mov si, dx
add esi, 0x38ccd10f
mov dx, si
mov word [0x490138], dx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00436900
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42eb41
jmp 0x42ef2f
lea eax, [esp + 0xc0]
xor ecx, ecx
mov edx, dword [0x4945b8]
or edx, 0xefdefede
mov dword [0x4945b8], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x28], ecx
call fcn.0041fd10
cmp eax, 0
jge 0x42ecbc
lea eax, [esp + 0x9c]
lea ecx, [esp + 0xb4]
mov edx, dword [0x499c80]
and edx, 0xfdb7ffe3
mov dword [0x499c80], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041edf0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42ebba
jmp 0x42ef2f
lea eax, [esp + 0x9c]
mov ecx, dword [0x498b10]
add ecx, 0x93ff7df8
mov dword [0x498b10], ecx
mov ecx, dword [esp + 0xd8]
sub ecx, dword [esp + 0xd0]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ec00
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42ec08
jmp 0x42ef2f
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x9c]
mov dx, word [0x490466]
mov si, dx
and esi, 0x8c11
mov dx, si
mov word [0x490466], dx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004197d0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42ec55
jmp 0x42ef2f
mov eax, dword [0x499e04]
mov cx, word [0x49197e]
mov dx, cx
xor eax, edx
not eax
mov cx, ax
mov word [0x49197e], cx
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xd0]
sub eax, edx
mov edx, dword [esp + 0xb0]
mov esi, dword [edx + eax*4 - 4]
dec esi
mov dword [edx + eax*4 - 4], esi
mov eax, dword [0x495f94]
mov edx, dword [0x4953e4]
mov esi, edx
dec esi
mov dword [0x4953e4], esi
add edx, 0xc2fb7514
xor eax, edx
mov edx, dword [0x4984d0]
add edx, eax
mov dword [0x4984d0], edx
mov dword [0x49660c], 0x9f0da91f
mov eax, dword [esp + 0xd8]
add eax, 0xffffffff
mov dword [esp + 0xd8], eax
jmp 0x42dfa5
mov eax, dword [0x496168]
not eax
mov ecx, dword [0x495e58]
mov edx, ecx
inc edx
mov dword [0x495e58], edx
lea eax, [eax + ecx + 0x27a9cdf7]
mov ecx, dword [0x495370]
and ecx, eax
mov dword [0x495370], ecx
cmp dword [esp + 0xe0], 0
je 0x42eddd
mov eax, 0x115a58b1
mov ecx, dword [0x49c1f0]
sar ecx, 7
mov edx, dword [0x49b31c]
shl edx, 3
imul edx, edx, 0xe6fbe179
xor ecx, edx
cmp eax, ecx
je 0x42ed76
mov eax, 0xd77f57ba
mov ecx, dword [0x494bbc]
inc ecx
mov dword [0x494bbc], ecx
imul ecx, ecx, 0x763ad07a
and ecx, 0x49af763f
cmp eax, ecx
jne 0x42ed71
mov eax, dword [0x495524]
and eax, 0xac5e6ad1
mov dword [0x495524], eax
jmp 0x42ed85
mov eax, dword [0x49a6dc]
or eax, 0x7c76f36d
mov dword [0x49a6dc], eax
mov eax, dword [esp + 0xe0]
mov ecx, esp
lea edx, [esp + 0xa8]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.0041edf0
mov dword [0x495848], 0x88e98d62
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xec]
mov edx, dword [edx]
imul ecx, edx
mov edx, dword [esp + 0xe0]
mov dword [edx], ecx
mov ecx, dword [0x498a64]
add ecx, 0xff903a7d
mov dword [0x498a64], ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x497b5c]
add eax, 0x7a37db36
mov ecx, dword [0x497774]
or ecx, eax
mov dword [0x497774], ecx
cmp dword [esp + 0xe4], 0
je 0x42ef20
mov eax, dword [0x499520]
and eax, 0x977a717c
mov dword [0x499520], eax
mov eax, dword [esp + 0xcc]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xc0]
mov dword [ecx], eax
call fcn.00428c80
mov ecx, dword [0x495dbc]
mov edx, ecx
dec edx
mov dword [0x495dbc], edx
cmp ecx, 0xd49b4f92
mov dword [esp + 0x20], eax
jl 0x42ee61
mov eax, dword [0x497b4c]
not eax
add eax, 0x8e794aa4
xor eax, 0xcffb70a1
mov dword [0x49a68c], eax
xor eax, eax
mov ecx, dword [esp + 0xe4]
mov edx, esp
lea esi, [esp + 0xc0]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [esp + 0x1c], eax
call fcn.0041edf0
mov di, word [0x491994]
movsx ecx, di
shl ecx, 4
mov edx, dword [0x495268]
xor edx, ecx
mov dword [0x495268], edx
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xe4]
mov dword [edx], ecx
mov di, word [0x48fbee]
mov cx, di
inc ecx
mov di, cx
mov word [0x48fbee], di
movsx ecx, di
imul ecx, ecx, 0xe56e0a4c
add ecx, 0xd9591baf
mov edx, dword [0x4971f0]
sub edx, ecx
mov dword [0x4971f0], edx
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
call fcn.0041fd10
cmp eax, 0
jne 0x42ef11
mov eax, dword [esp + 0xe4]
mov dword [eax], 1
mov eax, dword [0x493b9c]
add eax, 0x46628efb
mov dword [0x493b9c], eax
mov eax, dword [0x495a00]
and eax, 0x7d540b86
mov dword [0x495a00], eax
mov eax, esp
lea ecx, [esp + 0x90]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0x9c]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xa8]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xb4]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xc0]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.0042fe30
mov eax, dword [0x494094]
add eax, 0x7ca1d5fe
mov dword [0x494094], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xf0]
add esp, 0xf4
pop esi
pop edi
pop ebx
ret