Function at 0x4260a0
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, 0xfb76d7b5
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe0], esi
mov eax, dword [0x49550c]
imul eax, eax, 0x7e931177
mov dword [0x49550c], eax
mov bx, word [0x49a952]
mov word [0x49a952], bx
mov bx, word [0x49ac68]
movsx eax, bx
add eax, 0x7e720523
mov ecx, dword [0x491fec]
or eax, ecx
cmp edi, eax
jle 0x426151
mov eax, 0xe49d425f
mov ecx, dword [0x48d448]
cmp eax, ecx
jl 0x42614c
mov eax, dword [0x48b158]
mov ecx, dword [0x495c0c]
imul eax, ecx
shl eax, 2
mov dword [0x495c0c], eax
jmp 0x426151
xor eax, eax
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x6c], eax
call fcn.0043a290
cmp eax, 0
jne 0x426187
mov dword [esp + 0xf0], 0xfffffff4
jmp 0x42796e
mov ax, word [0x49a452]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49a452], ax
movsx ecx, ax
mov edx, dword [0x492254]
xor edx, ecx
mov dword [0x492254], edx
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
call fcn.00435f20
mov ecx, dword [0x49121c]
mov edx, ecx
inc edx
mov dword [0x49121c], edx
imul ecx, ecx, 0x5a8253dc
mov edx, dword [0x4903bc]
or edx, ecx
mov dword [0x4903bc], edx
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00428b40
cmp eax, 0
jge 0x426341
mov eax, 0x14a5a0da
mov ecx, dword [0x48e7c4]
mov edx, ecx
inc edx
mov dword [0x48e7c4], edx
mov edx, dword [0x48fcb0]
shl edx, 7
imul ecx, edx
cmp eax, ecx
jl 0x426270
mov ax, word [0x4965e0]
mov cx, ax
imul ecx, ecx, 0x250f2701
mov ax, cx
mov word [0x4965e0], ax
cmp dword [esp + 0xe0], 0
je 0x4262b5
xor eax, eax
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x68], eax
call fcn.0041c690
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4262b0
jmp 0x42790d
jmp 0x4262b5
mov eax, dword [0x492368]
and eax, 0xa4fc5ab1
mov dword [0x492368], eax
cmp dword [esp + 0xe4], 0
je 0x426306
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040d490
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x426301
jmp 0x42790d
jmp 0x426306
mov eax, 0xae0769b
mov ecx, dword [0x48de64]
sub eax, ecx
cmp eax, 0x9672feb6
jl 0x426331
mov eax, dword [0x48efac]
mov ecx, dword [0x493644]
or ecx, eax
mov dword [0x493644], ecx
mov dword [esp + 0xf0], 0
jmp 0x42796e
mov eax, 0x9c3208b
mov ecx, dword [0x48fd14]
dec ecx
mov dword [0x48fd14], ecx
cmp eax, ecx
jl 0x4263b6
mov eax, 0xb84d8390
mov ecx, dword [0x494d60]
mov edx, ecx
dec edx
mov dword [0x494d60], edx
add ecx, 0xd11b1122
mov edx, dword [0x48eb80]
dec edx
mov dword [0x48eb80], edx
sub ecx, edx
cmp eax, ecx
je 0x4263b1
mov eax, dword [0x4928c8]
inc eax
mov dword [0x4928c8], eax
add eax, 0x1dcca924
cmp eax, 0xff6d73bd
jge 0x4263ac
jmp 0x4263ac
jmp 0x4263b1
jmp 0x4263b6
lea eax, [esp + 0xc0]
mov ecx, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040d490
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4263e5
jmp 0x42790d
mov eax, 0x5710ef40
mov ecx, dword [0x490c9c]
mov edx, ecx
dec edx
mov dword [0x490c9c], edx
cmp eax, ecx
je 0x426432
mov ax, word [0x49a8b6]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49a8b6], dx
movsx ecx, ax
add ecx, 0xf08ccd44
mov esi, dword [0x4918dc]
xor ecx, esi
xor ecx, 0x9e04b627
mov dword [0x4918dc], ecx
lea eax, [esp + 0xb4]
mov ecx, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040d490
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x426461
jmp 0x42790d
mov eax, dword [0x48c800]
mov ecx, eax
inc ecx
mov dword [0x48c800], ecx
mov dx, word [0x4985e4]
mov cx, dx
inc ecx
mov si, cx
mov word [0x4985e4], si
movsx ecx, dx
sub eax, ecx
mov ecx, dword [0x48c544]
cmp eax, ecx
jge 0x4264a6
mov eax, dword [0x49123c]
add eax, 0x7b25fe83
mov dword [0x49123c], eax
mov dword [esp + 0xb4], 1
mov dword [esp + 0xc0], 1
mov eax, dword [0x492b8c]
mov cx, word [0x49b3d6]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49b3d6], cx
movsx edx, cx
mov esi, dword [0x48dc6c]
mov edi, esi
inc edi
mov dword [0x48dc6c], edi
add edx, esi
or eax, edx
mov edx, dword [0x48aea0]
add edx, 0x1cd8c7fd
xor edx, 0xc5d5c189
cmp eax, edx
je 0x426531
mov eax, dword [0x4944d4]
mov ecx, eax
dec ecx
mov dword [0x4944d4], ecx
mov ecx, 0x47fafa0a
sub ecx, eax
mov dx, word [0x4980a0]
mov ax, dx
and eax, ecx
mov dx, ax
mov word [0x4980a0], dx
lea eax, [esp + 0xa8]
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx + 4]
add ecx, 2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004198a0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x426566
jmp 0x42790d
lea eax, [esp + 0xa8]
xor ecx, ecx
mov edx, dword [0x48c5b0]
and edx, 0x6796848
mov dword [0x48c5b0], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x64], ecx
call fcn.0041c690
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4265aa
jmp 0x42790d
lea eax, [esp + 0x9c]
mov ecx, 2
mov dword [0x48b3c8], 0x654e9911
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x60], ecx
call fcn.004198a0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4265e9
jmp 0x42790d
lea eax, [esp + 0x90]
mov ecx, 3
mov edx, dword [0x48d038]
or edx, 0xbf2fded5
mov dword [0x48d038], edx
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x5c], ecx
call fcn.004198a0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x426630
jmp 0x42790d
mov eax, dword [0x48e174]
add eax, 0xba8fdecd
mov dword [0x48e174], eax
mov eax, esp
lea ecx, [esp + 0xb4]
mov dword [eax], ecx
call fcn.0040d1f0
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 [0x48b504]
xor eax, 0xf6b42003
mov dword [0x48b504], eax
cmp dword [esp + 0xcc], 0x1f
jge 0x426773
lea eax, [esp + 0xc0]
mov cx, word [0x49a934]
movsx edx, cx
sar edx, 9
mov esi, dword [0x48c268]
and esi, edx
mov dword [0x48c268], esi
mov edx, dword [esp + 0xcc]
mov esi, 0x1f
sub esi, edx
mov dword [esp + 0xcc], esi
mov edx, dword [0x491834]
mov esi, edx
inc esi
mov dword [0x491834], esi
mov esi, dword [0x492f04]
add esi, edx
mov dword [0x492f04], esi
mov edx, dword [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0042f060
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x426700
jmp 0x42790d
lea eax, [esp + 0xb4]
mov ecx, dword [0x494020]
mov edx, dword [0x48fb30]
add edx, 0x184113c7
or ecx, edx
mov dword [0x48ca04], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0042f060
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x426749
jmp 0x42790d
mov eax, dword [0x48c328]
mov ecx, 0xbd3a16ee
sub ecx, eax
mov eax, dword [0x48dec8]
dec eax
mov dword [0x48dec8], eax
and ecx, eax
mov eax, dword [0x48fed8]
sub eax, ecx
mov dword [0x48fed8], eax
jmp 0x42677e
mov dword [esp + 0xcc], 0
mov eax, dword [0x492ec4]
imul eax, eax, 0x52962b20
mov dword [0x492ec4], eax
mov eax, dword [esp + 0xc4]
dec eax
mov dword [esp + 0xd4], eax
mov eax, dword [0x48b874]
mov ecx, eax
inc ecx
mov dword [0x48b874], ecx
mov ecx, dword [0x4948f8]
xor ecx, eax
mov dword [0x4948f8], ecx
mov eax, dword [esp + 0xb8]
dec eax
mov dword [esp + 0xd0], eax
mov eax, dword [0x492120]
mov ecx, dword [0x48e8cc]
shr ecx, 9
imul eax, ecx
shl eax, 0xa
mov ecx, dword [0x490968]
and ecx, 0xf145871a
xor ecx, 0xa6f78f85
cmp eax, ecx
jne 0x426835
mov eax, 0x59081d27
mov ecx, dword [0x48bc20]
not ecx
mov edx, dword [0x4945d8]
and edx, 0x984019b9
xor ecx, edx
cmp eax, ecx
je 0x426830
mov eax, dword [0x48b1a8]
not eax
imul eax, eax, 0x30e60923
add eax, 0x6854de8e
mov dword [0x48f2d8], eax
jmp 0x426844
mov eax, dword [0x490238]
or eax, 0xae9bfeff
mov dword [0x490238], eax
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.0042f060
mov dx, word [0x497d62]
movsx ecx, dx
xor ecx, 0x47e09684
mov esi, dword [0x490554]
and esi, ecx
mov dword [0x490554], esi
mov dword [esp + 0x58], eax
lea eax, [esp + 0xc0]
lea ecx, [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00438a80
cmp eax, 0
jl 0x42695a
mov eax, dword [0x48ddf8]
add eax, 0x10e6e69c
mov cx, word [0x499c8a]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x499c8a], cx
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
sub eax, edx
mov edx, dword [esp + 0xb0]
mov esi, dword [edx + eax*4]
inc esi
mov dword [edx + eax*4], esi
mov eax, dword [0x48f794]
mov edx, eax
dec edx
mov dword [0x48f794], edx
add eax, 0x3d2c1741
xor eax, 0x9e2d4b17
mov dword [0x48deb0], eax
mov eax, esp
lea edx, [esp + 0xb4]
mov dword [eax + 8], edx
lea edx, [esp + 0xc0]
mov dword [eax + 4], edx
mov dword [eax], edx
call fcn.0042ded0
mov edx, dword [0x48c044]
inc edx
mov dword [0x48c044], edx
mov esi, dword [0x490f08]
mov edi, 0xae9dc5de
sub edi, esi
or edx, edi
mov esi, dword [0x48dedc]
and esi, edx
mov dword [0x48dedc], esi
mov dword [esp + 0x54], eax
jmp 0x42688c
mov ax, word [0x49ae1a]
mov cx, ax
or ecx, 0xd954
mov ax, cx
mov word [0x49ae1a], ax
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.0042cb90
mov ecx, dword [0x4945f0]
add ecx, 0xd2c0e95d
mov dword [0x4945f0], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xd8]
cmp eax, dword [esp + 0xd0]
jle 0x4276d4
mov eax, dword [0x493844]
mov cx, word [0x49a45c]
mov dx, cx
inc edx
mov cx, dx
mov word [0x49a45c], cx
movsx edx, cx
add eax, edx
mov edx, dword [0x48de68]
xor edx, eax
mov dword [0x48de68], edx
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xc8]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0xbc]
cmp eax, dword [esi + edx*4]
jb 0x426a49
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 0x426ff6
mov eax, 0xf58c904c
mov dword [0x491e20], 0x3d990dbe
mov ecx, dword [0x48daa4]
mov edx, ecx
dec edx
mov dword [0x48daa4], edx
cmp eax, ecx
jl 0x426a7e
mov eax, dword [0x48fae8]
or eax, 0x261d1537
mov dword [0x48fae8], eax
mov eax, 0x77c4df6d
mov dword [0x490c28], 0x75a235d7
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xbc]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x74], ecx
mov ecx, dword [0x48f43c]
add ecx, 0xe1d47b0f
mov dword [0x48f43c], ecx
movzx ecx, word [esp + 0x74]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x494b44]
mov edx, ecx
dec edx
mov dword [0x494b44], edx
add ecx, 0xdfbaf093
xor ecx, 0x5118846d
mov edx, dword [0x48e838]
or edx, ecx
mov dword [0x48e838], edx
movzx ecx, word [esp + 0x76]
mov dword [esp + 0x78], ecx
mov ecx, dword [0x48b178]
and ecx, 0xfffdef99
mov dword [0x48b178], ecx
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xc8]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x78]
xor esi, esi
mov dword [esp + 0x4c], eax
mov eax, ecx
mov dword [esp + 0x48], edx
mov edx, esi
mov ecx, dword [esp + 0x48]
div ecx
mov dword [esp + 0x88], eax
mov eax, dword [0x48dbb4]
xor eax, 0x400
or eax, 0xeb69
mov di, word [0x4980a6]
mov cx, di
add ecx, eax
mov di, cx
mov word [0x4980a6], di
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 [0x48e7dc]
mov ecx, eax
dec ecx
mov dword [0x48e7dc], ecx
add eax, 0x127b4728
mov ecx, dword [0x48bb8c]
imul ecx, eax
mov dword [0x48bb8c], ecx
mov eax, dword [esp + 0x80]
shl eax, 0x10
mov dword [esp + 0x80], eax
mov eax, dword [0x494c20]
imul eax, eax, 0xde715d7b
mov dword [0x494c20], 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 word [0x49767a], 0xe66a
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x7c]
imul eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [0x493b4c]
mov di, word [0x4986c2]
movsx ecx, di
add eax, ecx
sub eax, 0xaefc85c3
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
je 0x426c38
mov ax, word [0x497ff6]
movsx ecx, ax
mov edx, dword [0x48df1c]
and edx, ecx
mov dword [0x48df1c], edx
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x70]
jae 0x426d26
mov eax, dword [0x48f5e8]
or eax, 0xa21033e7
mov ecx, dword [0x49564c]
add ecx, eax
mov dword [0x49564c], ecx
mov eax, dword [esp + 0x88]
dec eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x80]
add ecx, eax
mov dword [esp + 0x80], ecx
mov dx, word [0x498b6c]
mov ax, dx
and eax, 0x79b7
mov dx, ax
mov word [0x498b6c], dx
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x74]
mov byte [esp + 0x47], cl
jb 0x426cc8
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x70]
setb cl
mov byte [esp + 0x47], cl
mov al, byte [esp + 0x47]
test al, 1
jne 0x426cd9
jmp 0x426d01
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 0x426c9d
mov eax, dword [0x4924fc]
add eax, 0x33930be2
mov cx, word [0x49a696]
mov dx, cx
and eax, edx
and eax, 0x6d7a
mov cx, ax
mov word [0x49a696], cx
mov eax, dword [0x48afc8]
and eax, 0xf7a62587
mov dword [0x48afc8], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
sub ecx, eax
mov dword [esp + 0x80], ecx
mov eax, dword [0x4902c8]
imul eax, eax, 0x679dca11
mov dword [0x4902c8], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
xor edx, edx
div ecx
mov dword [esp + 0x8c], eax
mov si, word [0x49adb6]
mov ax, si
add eax, 0xbb1c14fd
mov si, ax
mov word [0x49adb6], si
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 eax, dword [0x4928d0]
imul eax, eax, 0xdecb34af
mov dword [0x4928d0], eax
mov eax, dword [esp + 0x84]
shl eax, 0x10
mov dword [esp + 0x84], eax
mov eax, dword [0x490334]
or eax, 0x988b515c
mov dword [0x490334], 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 [0x494a6c]
imul eax, eax, 0xcf01f06f
mov dword [0x494a6c], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x7c]
imul eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [0x493c78]
imul eax, eax, 0x5ee125c
mov dword [0x493c78], eax
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x70]
jae 0x426f72
mov eax, 0xed37f19f
mov ecx, dword [0x493420]
dec ecx
mov dword [0x493420], ecx
mov edx, dword [0x492a90]
sar edx, 7
imul ecx, edx
mov edx, dword [0x491588]
add edx, ecx
mov dword [0x491588], edx
mov ecx, dword [esp + 0x8c]
dec ecx
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x84]
add edx, ecx
mov dword [esp + 0x84], edx
mov ecx, dword [0x493714]
inc ecx
mov dword [0x493714], ecx
imul ecx, ecx, 0x514cd11f
xor ecx, 0x81cb1110
cmp eax, ecx
je 0x426ed5
mov eax, dword [0x49406c]
sar eax, 6
mov ecx, dword [0x494c3c]
mov edx, ecx
inc edx
mov dword [0x494c3c], edx
imul eax, ecx
mov ecx, dword [0x48ffd0]
imul ecx, eax
mov dword [0x48ffd0], ecx
jmp 0x426eda
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x74]
mov byte [esp + 0x46], cl
jb 0x426f05
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x70]
setb cl
mov byte [esp + 0x46], cl
mov al, byte [esp + 0x46]
test al, 1
jne 0x426f16
jmp 0x426f3e
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 0x426eda
mov ax, word [0x496f8e]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x496f8e], ax
movsx ecx, ax
mov edx, dword [0x4954f4]
not edx
add ecx, edx
and ecx, 0x364507f
mov edx, dword [0x495274]
add edx, ecx
mov dword [0x495274], edx
mov eax, dword [0x48dbdc]
or eax, 0xdb112126
mov dword [0x48dbdc], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x84]
sub ecx, eax
mov dword [esp + 0x84], ecx
mov eax, dword [0x492ba0]
shl eax, 4
mov ecx, dword [0x490cc4]
lea eax, [eax + ecx - 0x1a752b62]
mov dword [0x490cc4], eax
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 si, word [0x495fcc]
mov ax, si
xor eax, 0x7f6e
mov si, ax
mov word [0x495fcc], si
mov ax, word [0x499650]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x499650], ax
movsx ecx, ax
imul ecx, ecx, 0x5726109f
mov edx, dword [0x492f8c]
or ecx, edx
mov ax, word [0x497e74]
movsx edx, ax
cmp ecx, edx
jne 0x42703b
mov eax, dword [0x492344]
imul eax, eax, 0xe473fd6d
mov dword [0x492344], 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 dword [0x492dd8], 0x90d8d827
mov eax, dword [0x48d7ec]
shl eax, 2
and eax, 0x6202a55c
cmp eax, 0xc0c5d3ab
jg 0x42708c
mov eax, dword [0x48be7c]
add eax, 0xe41e55f6
mov dword [0x48be7c], 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 [0x490e1c]
mov bx, word [0x49ad02]
mov si, bx
imul edx, esi
shl edx, 9
mov bx, dx
mov word [0x49ad02], bx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x40], ecx
call fcn.0041c690
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4270fe
jmp 0x42790d
mov eax, dword [0x48bd4c]
imul eax, eax, 0x73bab61a
mov dword [0x48bd4c], eax
cmp dword [esp + 0xd0], 1
jge 0x427127
xor eax, eax
mov dword [esp + 0x3c], eax
jmp 0x42713f
mov eax, dword [esp + 0xd0]
sub eax, 1
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x9c]
mov edx, dword [esp + 0xa4]
mov dword [edx], eax
mov eax, dword [0x495ac0]
mov edx, dword [0x493394]
xor edx, eax
mov dword [0x493394], edx
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 [0x491aac]
mov edx, eax
inc edx
mov dword [0x491aac], edx
mov si, word [0x499c54]
movsx edx, si
or eax, edx
mov edx, dword [0x490fc8]
imul edx, eax
mov dword [0x490fc8], edx
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.00433eb0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4271ea
jmp 0x42790d
mov eax, dword [0x490ee0]
shr eax, 3
imul eax, eax, 0x4c4f270f
or eax, 0xf8b722e3
mov ecx, dword [0x48e504]
mov edx, ecx
dec edx
mov dword [0x48e504], edx
imul ecx, ecx, 0xdfcf3af4
cmp eax, ecx
jne 0x42722a
mov eax, dword [0x48edf8]
imul eax, eax, 0xe070c0e2
mov dword [0x48edf8], eax
lea eax, [esp + 0x90]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x38], ecx
call fcn.0041c690
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42725c
jmp 0x42790d
mov eax, dword [0x49063c]
sar eax, 1
add eax, 0xc4d982e0
mov ecx, dword [0x49410c]
imul ecx, eax
mov dword [0x49410c], ecx
cmp dword [esp + 0xd8], 2
jge 0x427290
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x4272a8
mov eax, dword [esp + 0xd8]
sub eax, 2
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x98]
mov dword [ecx], eax
mov dx, word [0x49aa1e]
mov ax, dx
or eax, 0xbbd8
mov dx, ax
mov word [0x49aa1e], dx
cmp dword [esp + 0xd8], 1
jge 0x4272e7
xor eax, eax
mov dword [esp + 0x30], eax
jmp 0x4272ff
mov eax, dword [esp + 0xd8]
sub eax, 1
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 + 4], eax
mov eax, dword [0x48dbdc]
add eax, 0x8f5a26da
mov dword [0x48dbdc], 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 dx, word [0x4996b2]
movsx eax, dx
sar eax, 1
mov ecx, dword [0x48d9d8]
or ecx, eax
mov dword [0x48d9d8], ecx
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00438a80
cmp eax, 0
jg 0x427065
mov eax, 0xd824eebd
mov ecx, dword [0x4931ec]
cmp eax, ecx
jl 0x4273b2
mov eax, dword [0x491498]
imul eax, eax, 0xca81e182
and eax, 0x710a
mov cx, word [0x49ae10]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x49ae10], cx
jmp 0x4273bf
mov eax, dword [0x48fc78]
sar eax, 4
mov dword [0x491a00], 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.00433eb0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x42740d
jmp 0x42790d
lea eax, [esp + 0x9c]
mov ecx, dword [0x491a8c]
mov dx, word [0x4962b2]
movsx esi, dx
and ecx, esi
mov esi, dword [0x495924]
add esi, ecx
mov dword [0x495924], esi
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.0042f060
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x427469
jmp 0x42790d
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x9c]
mov dword [0x4956d0], 0xd14da05a
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0042ded0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4274a6
jmp 0x42790d
lea eax, [esp + 0xc0]
xor ecx, ecx
mov dx, word [0x49a25e]
mov si, dx
xor esi, 0x53ad
mov dx, si
mov word [0x49a25e], dx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x2c], ecx
call fcn.0043a290
cmp eax, 0
jge 0x42767e
lea eax, [esp + 0x9c]
lea ecx, [esp + 0xb4]
mov dx, word [0x498a74]
mov si, dx
inc esi
mov di, si
mov word [0x498a74], di
movsx esi, dx
and esi, 0x4e3442bc
xor esi, 0x3fe68590
mov ebx, dword [0x493c14]
sub ebx, esi
mov dword [0x493c14], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040d490
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x427547
jmp 0x42790d
lea eax, [esp + 0x9c]
mov ecx, dword [0x48dd7c]
add ecx, 0xb48c081a
mov dword [0x48dd7c], 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.0042f060
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x427595
jmp 0x42790d
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x9c]
mov dx, word [0x497e8c]
mov si, dx
mov edi, 0xa9c859de
sub edi, esi
mov dx, word [0x49a2ae]
mov si, dx
add esi, edi
mov dx, si
mov word [0x49a2ae], dx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0041c9c0
mov dword [esp + 0xdc], eax
cmp eax, 0
je 0x4275ef
jmp 0x42790d
mov eax, 0xf7f5eef5
mov ecx, dword [0x4936fc]
dec ecx
mov dword [0x4936fc], ecx
mov edx, dword [0x492dbc]
inc edx
mov dword [0x492dbc], edx
imul ecx, edx
cmp eax, ecx
jne 0x427636
mov ax, word [0x4985aa]
mov cx, ax
add ecx, 0x9b5cc962
mov ax, cx
mov word [0x4985aa], ax
jmp 0x427646
mov eax, dword [0x492780]
imul eax, eax, 0x2b6d3070
mov dword [0x492780], 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]
dec edx
mov dword [ecx + eax*4 - 4], edx
mov eax, dword [0x48cb4c]
add eax, 0x34237194
mov ecx, dword [0x48ff90]
and ecx, eax
mov dword [0x48ff90], ecx
mov eax, 0xa2cc49ec
mov ecx, dword [0x494ccc]
inc ecx
mov dword [0x494ccc], ecx
add ecx, 0x317fca1b
xor ecx, 0x2cf215ca
cmp eax, ecx
jne 0x4276b9
mov eax, dword [0x4950a8]
imul eax, eax, 0x4dafd92e
or eax, 0x6391ac40
mov dword [0x494a80], eax
jmp 0x4276be
mov eax, dword [esp + 0xd8]
add eax, 0xffffffff
mov dword [esp + 0xd8], eax
jmp 0x4269bc
mov eax, dword [0x48ef18]
shl eax, 6
add eax, 0xf2c96f77
cmp eax, 0xed9ad979
je 0x427706
mov eax, dword [0x48b6f0]
not eax
mov ecx, dword [0x48b05c]
sub ecx, eax
mov dword [0x48b05c], ecx
jmp 0x427715
mov eax, dword [0x4922f0]
xor eax, 0x6175169f
mov dword [0x4922f0], eax
cmp dword [esp + 0xe0], 0
je 0x427792
mov eax, dword [0x48d964]
and eax, 0x28c4b5c5
mov dword [0x48d964], eax
mov eax, dword [esp + 0xe0]
mov ecx, esp
lea edx, [esp + 0xa8]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.0040d490
mov ecx, dword [0x48e32c]
and ecx, 0xcf28c0a2
mov dword [0x48e32c], ecx
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 [0x491288]
add ecx, 0xd4bc98dc
mov dword [0x491288], ecx
mov dword [esp + 0x28], eax
mov eax, dword [0x48f4c0]
imul eax, eax, 0x3b9e7b83
mov dword [0x48f4c0], eax
cmp dword [esp + 0xe4], 0
je 0x4278f5
mov eax, 0xccd45c9e
mov ecx, dword [0x492f40]
inc ecx
mov dword [0x492f40], ecx
cmp eax, ecx
jle 0x4277f4
mov eax, dword [0x4916cc]
inc eax
mov dword [0x4916cc], eax
or eax, 0xfbf7fbbd
cmp eax, 0x1eba64bb
jg 0x4277ef
mov dword [0x495ac4], 0x82219480
jmp 0x4277f4
xor eax, eax
mov ecx, dword [esp + 0xcc]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xc0]
mov dword [edx], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
call fcn.0042cb90
mov ecx, dword [0x49118c]
and ecx, 0x611
mov si, word [0x4963be]
mov dx, si
xor edx, ecx
mov si, dx
mov word [0x4963be], si
mov ecx, dword [esp + 0xe4]
mov edx, esp
mov edi, dword [esp + 0x20]
mov dword [edx + 4], edi
mov dword [edx], ecx
mov dword [esp + 0x1c], eax
call fcn.0040d490
mov si, word [0x496f2c]
mov cx, si
xor ecx, 0x4e00
mov si, cx
mov word [0x496f2c], si
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xe4]
mov dword [edx], ecx
mov ecx, dword [0x48db2c]
mov edx, ecx
dec edx
mov dword [0x48db2c], edx
imul ecx, ecx, 0xd98ea909
mov edx, dword [0x495784]
sub ecx, edx
mov edx, dword [0x48f5b8]
imul edx, ecx
mov dword [0x48f5b8], edx
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
call fcn.0043a290
cmp eax, 0
jne 0x4278de
mov eax, dword [esp + 0xe4]
mov dword [eax], 1
mov eax, dword [0x48d8e8]
mov ecx, dword [0x48e954]
xor eax, ecx
xor eax, 0x128080
mov dword [0x48e954], eax
mov ax, word [0x49a9a4]
mov cx, ax
add ecx, 0xef50f2ff
mov ax, cx
mov word [0x49a9a4], ax
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.00410250
mov eax, dword [0x48b6b0]
add eax, 0x64aa30ec
or eax, 0xf99c2c01
mov dword [0x49434c], 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