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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9c0
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ebx, 0x67fff7ff
mov dword [esp + 0x9b8], eax
mov dword [esp + 0x9b4], ecx
mov dword [esp + 0x9b0], edx
mov dword [esp + 0x9ac], esi
mov dword [esp + 0x9a8], edi
mov si, word [0x488086]
mov ax, si
dec eax
mov di, ax
mov word [0x488086], di
movsx eax, si
mov ecx, dword [0x4905a8]
imul ecx, eax
mov dword [0x4905a8], ecx
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x3514
mov dword [esp + 0x148], ebx
call fcn.00445b40
mov dword [esp + 0x9a4], eax
mov word [0x480f0c], 0x6f22
mov eax, dword [esp + 0x9a4]
mov ecx, dword [esp + 0x9a8]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00455b00
mov dword [esp + 0x97c], eax
mov dword [0x49843c], 0xe0b6e060
mov eax, dword [esp + 0x9a4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.004235c0
mov eax, dword [0x497dd0]
dec eax
mov dword [0x497dd0], eax
mov ecx, dword [esp + 0x148]
cmp ecx, eax
jne 0x414ee1
mov eax, dword [0x48d240]
mov ecx, eax
dec ecx
mov dword [0x48d240], ecx
add eax, 0x7b3cd8
mov dword [0x49a77c], eax
jmp 0x414ef5
mov eax, dword [0x48ca88]
add eax, 0x5b031c8b
or eax, 0x9832ee91
mov dword [0x4991a8], eax
cmp dword [esp + 0x97c], 0
jne 0x4150a1
mov eax, dword [0x49c0e8]
mov ecx, dword [0x48d678]
sub ecx, eax
mov dword [0x48d678], ecx
cmp dword [esp + 0x9b8], 0
je 0x414fc3
mov eax, 0xed54b8dd
mov ecx, dword [0x48d660]
mov edx, dword [0x4901e0]
sar edx, 3
and ecx, edx
cmp eax, ecx
jne 0x414f56
mov eax, dword [0x4926a8]
mov ecx, dword [0x49867c]
imul ecx, eax
mov dword [0x49867c], ecx
mov eax, 0x38e4c7a1
mov ecx, dword [esp + 0x9b0]
mov dword [esp + 0x144], eax
call fcn.0044fad0
mov eax, dword [0x490460]
dec eax
mov dword [0x490460], eax
mov ecx, dword [esp + 0x144]
cmp ecx, eax
jne 0x414fbe
mov ax, word [0x482f94]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x482f94], dx
movsx ecx, ax
mov esi, dword [0x4935c8]
mov edi, esi
dec edi
mov dword [0x4935c8], edi
xor ecx, esi
mov esi, dword [0x4927a8]
xor esi, ecx
mov dword [0x4927a8], esi
jmp 0x4179c4
mov eax, dword [0x4974cc]
add eax, 0x6a757f92
mov dword [0x4974cc], eax
mov eax, dword [esp + 0x9b0]
mov ecx, dword [esp + 0x9ac]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00446b50
mov dword [esp + 0x978], eax
mov eax, dword [0x48e998]
mov ecx, eax
inc ecx
mov dword [0x48e998], ecx
cmp eax, 0xfa681d8e
jge 0x41501b
mov eax, dword [0x489fc8]
or eax, 0x5f7a88e0
mov dword [0x489fc8], eax
cmp dword [esp + 0x978], 0
jg 0x41508d
mov ax, word [0x4801a6]
mov cx, ax
and ecx, 0xd2d4
mov ax, cx
mov word [0x4801a6], ax
mov ecx, dword [esp + 0x9b0]
call fcn.0044fad0
mov ecx, dword [0x498688]
and ecx, 0x89b28cc5
mov edx, dword [0x48d5a0]
sar edx, 5
xor edx, 0x9c0658fc
cmp ecx, edx
jge 0x415088
mov ax, word [0x4851e6]
mov cx, ax
add ecx, 0x3132dfb8
mov ax, cx
mov word [0x4851e6], ax
jmp 0x41508d
mov eax, dword [0x496000]
add eax, 0x43663f3a
mov dword [0x496000], eax
jmp 0x4179c4
mov dword [0x493f0c], 0xc14a1098
mov ax, word [0x480fac]
mov cx, ax
or ecx, 0x7abf
mov ax, cx
mov word [0x480fac], ax
mov ax, word [0x482dbc]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x482dbc], dx
movsx ecx, ax
and ecx, 0x2022004
mov esi, dword [0x48d564]
or esi, ecx
mov dword [0x48d564], esi
mov ax, word [0x487712]
mov cx, ax
xor ecx, 0xbc8e
mov ax, cx
mov word [0x487712], ax
mov ax, word [0x485256]
mov cx, ax
add ecx, 0x9a952892
mov ax, cx
mov word [0x485256], ax
mov ecx, dword [0x49b358]
mov esi, ecx
dec esi
mov dword [0x49b358], esi
mov esi, dword [0x497a7c]
imul esi, ecx
mov dword [0x497a7c], esi
mov ax, word [0x4841ec]
movsx ecx, ax
shl ecx, 3
mov esi, dword [0x49c7d8]
and ecx, esi
and ecx, 0x40010060
mov dword [0x49c7d8], ecx
lea ecx, [esp + 0x64c]
call fcn.00418d90
mov ecx, dword [0x49c2fc]
inc ecx
mov dword [0x49c2fc], ecx
or ecx, 0x8d2126c0
cmp ecx, 0x13f5f171
mov dword [esp + 0x140], eax
jg 0x41519e
mov eax, dword [0x48da3c]
imul eax, eax, 0x757648bc
mov dword [0x48da3c], eax
mov eax, 0x32ac4539
mov ecx, dword [0x48e9fc]
cmp eax, ecx
je 0x4151c0
mov eax, dword [0x48fc20]
and eax, 0xde5d7608
mov dword [0x48fc20], eax
mov eax, dword [0x48b3d8]
or eax, 0x832ae803
mov dword [0x48b3d8], eax
mov eax, dword [0x48cb5c]
or eax, 0x35e2d6ed
mov dword [0x48cb5c], eax
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov eax, dword [0x49b364]
mov ecx, eax
dec ecx
mov dword [0x49b364], ecx
imul eax, eax, 0x7eac2e9f
mov ecx, dword [0x4983e4]
or eax, ecx
mov ecx, dword [0x498a14]
or ecx, eax
mov dword [0x498a14], ecx
mov dx, word [0x4821cc]
movsx eax, dx
mov dx, word [0x48824a]
movsx ecx, dx
xor eax, ecx
cmp eax, 0x40000000
jg 0x415283
mov eax, 0xbbacdfef
mov cx, word [0x487fb0]
movsx edx, cx
xor edx, 0xffffffff
cmp eax, edx
jge 0x41527e
mov eax, dword [0x48e314]
inc eax
mov dword [0x48e314], eax
add eax, 0x38f4931f
cmp eax, 0xfbcdeddf
jne 0x415279
jmp 0x415279
jmp 0x41527e
jmp 0x415283
mov dword [esp + 0x228], 0xffffffff
mov dword [esp + 0x224], 0xffffffff
mov word [0x4800d6], 0x98e9
mov dword [esp + 0x220], 0x50
mov ax, word [0x484002]
movsx ecx, ax
cmp ecx, 0xd93f6b4c
jne 0x415316
mov eax, dword [0x491d3c]
dec eax
mov dword [0x491d3c], eax
mov ecx, dword [0x490f98]
mov edx, ecx
inc edx
mov dword [0x490f98], edx
xor ecx, 0x15cc3834
cmp eax, ecx
jle 0x415311
mov eax, dword [0x49d668]
mov ecx, eax
inc ecx
mov dword [0x49d668], ecx
imul eax, eax, 0xfa427b88
xor eax, 0x4bf040f0
mov ecx, dword [0x48a604]
or ecx, eax
mov dword [0x48a604], ecx
jmp 0x415382
mov eax, dword [0x49c13c]
inc eax
mov dword [0x49c13c], eax
and eax, 0x897c76e0
mov ecx, dword [0x48cad8]
mov edx, ecx
inc edx
mov dword [0x48cad8], edx
or ecx, 0x142f6884
cmp eax, ecx
jge 0x41537d
mov eax, 0x75f6eb61
mov cx, word [0x487624]
mov dx, cx
inc edx
mov cx, dx
mov word [0x487624], cx
movsx edx, cx
xor edx, 0x9d1c9e73
cmp eax, edx
jl 0x415373
jmp 0x415378
jmp 0x415378
jmp 0x41537d
jmp 0x415382
mov byte [esp + 0x21f], 0
mov eax, dword [0x496814]
add eax, 0x103a97e3
mov dword [0x496814], eax
mov eax, esp
mov dword [eax], 0
call fcn.0044ffd0
add eax, 0x258
adc edx, 0
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], edx
mov eax, dword [0x48b1e8]
and eax, 0xc96
mov cx, word [0x484f86]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x484f86], cx
mov byte [esp + 0x678], 0
mov eax, dword [0x49d668]
mov edx, eax
inc edx
mov dword [0x49d668], edx
mov edx, dword [0x4949b0]
and eax, edx
and eax, 0x42ef4ca6
mov dword [0x4949b0], eax
mov eax, dword [esp + 0x9a8]
mov edx, esp
mov dword [edx], eax
call fcn.004523c0
mov dword [esp + 0x244], eax
mov cx, word [0x4885ac]
movsx eax, cx
sar eax, 9
mov edx, dword [0x48d038]
mov esi, edx
inc esi
mov dword [0x48d038], esi
lea eax, [eax + edx - 0x43822078]
mov edx, dword [0x496d38]
sub edx, eax
mov dword [0x496d38], edx
cmp dword [esp + 0x244], 0x7f
jle 0x41546e
mov eax, dword [0x49987c]
or eax, 0x79812dcd
mov dword [0x49987c], eax
jmp 0x4178f9
mov eax, dword [0x49153c]
and eax, 0x3bdf25c1
mov dword [0x49153c], eax
mov eax, dword [esp + 0x9a8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x8f8]
mov dword [ecx], eax
call fcn.00455480
mov dword [0x494544], 0x60886695
mov ecx, dword [esp + 0x244]
sub ecx, 1
mov dword [esp + 0x240], ecx
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x244]
sub ecx, 6
cmp eax, ecx
jl 0x41561c
mov eax, dword [0x499430]
add eax, 0xcbe48759
mov dword [0x499430], eax
mov eax, dword [esp + 0x240]
movsx eax, byte [esp + eax + 0x8f8]
cmp eax, 0x3a
jne 0x4155f7
mov eax, 0xa23d56df
mov cx, word [0x487e7a]
mov dx, cx
xor edx, 0xa935
mov cx, dx
mov word [0x487e7a], cx
mov edx, dword [esp + 0x240]
mov byte [esp + edx + 0x8f8], 0
mov cx, word [0x485a50]
movsx edx, cx
cmp eax, edx
jge 0x415562
mov eax, dword [0x491fb8]
mov ecx, eax
dec ecx
mov dword [0x491fb8], ecx
add eax, 0x48d0a986
mov dx, word [0x4807c6]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x4807c6], dx
mov eax, 0xfa619d61
mov ecx, dword [esp + 0x240]
mov dword [esp + 0x244], ecx
mov ecx, dword [0x49d73c]
mov edx, ecx
inc edx
mov dword [0x49d73c], edx
or ecx, 0x1d371e9b
cmp eax, ecx
je 0x4155c6
mov eax, 0xffff9dbf
mov cx, word [0x485b1c]
movsx edx, cx
cmp eax, edx
jge 0x4155c1
mov ax, word [0x486140]
mov cx, ax
add ecx, 0x401a228d
mov ax, cx
mov word [0x486140], ax
jmp 0x4155c6
mov eax, dword [esp + 0x240]
lea ecx, [esp + 0x8f8]
lea eax, [eax + ecx + 1]
mov ecx, esp
mov dword [ecx], eax
call fcn.0045629d
mov dword [esp + 0x220], eax
mov dword [0x499eb4], 0x8855cee4
jmp 0x41561c
mov eax, dword [0x499b98]
or eax, 0x28e1a00
mov dword [0x499b98], eax
mov eax, dword [esp + 0x240]
add eax, 0xffffffff
mov dword [esp + 0x240], eax
jmp 0x4154b9
mov ax, word [0x484658]
movsx ecx, ax
add ecx, 0xdf06774f
mov ax, word [0x485fea]
movsx edx, ax
sar edx, 7
and ecx, edx
mov ax, word [0x483b26]
mov dx, ax
dec edx
mov ax, dx
mov word [0x483b26], ax
movsx edx, ax
or edx, 0xef7ebadf
cmp ecx, edx
jle 0x41566c
mov eax, dword [0x48ce04]
and eax, 0xa4189ced
mov dword [0x48ce04], eax
mov dword [esp + 0x240], 0
mov eax, dword [esp + 0x240]
cmp eax, dword [esp + 0x244]
jg 0x415820
mov eax, dword [0x496814]
mov ecx, dword [0x496fb0]
and eax, ecx
mov ecx, dword [0x48a968]
and ecx, eax
mov dword [0x48a968], ecx
mov eax, dword [esp + 0x240]
mov dl, byte [esp + eax + 0x8f8]
mov byte [esp + eax + 0x878], dl
mov eax, dword [0x495b24]
or eax, 0xd070be77
mov dword [0x495b24], eax
mov eax, dword [esp + 0x240]
movsx eax, byte [esp + eax + 0x878]
cmp eax, 0x2f
jne 0x415800
mov eax, dword [0x48c2f0]
add eax, 0x57bb7ea8
mov dword [0x48c2f0], eax
mov eax, dword [esp + 0x240]
mov byte [esp + eax + 0x878], 0
mov eax, dword [0x48b0d8]
add eax, 0x85a6930a
mov ecx, dword [0x489be0]
dec ecx
mov dword [0x489be0], ecx
mov edx, dword [0x48c39c]
shl edx, 6
sub ecx, edx
cmp eax, ecx
jge 0x41574a
mov eax, dword [0x48e0c8]
or eax, 0x5083
mov cx, word [0x487916]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x487916], cx
mov eax, dword [esp + 0x240]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x23c]
cmp eax, dword [esp + 0x244]
jg 0x4157ec
mov eax, dword [0x4927e4]
xor eax, 0x9468cb54
mov dword [0x4927e4], eax
mov eax, dword [esp + 0x23c]
mov cl, byte [esp + eax + 0x8f8]
mov edx, dword [esp + 0x240]
sub eax, edx
mov byte [esp + eax + 0x678], cl
mov eax, dword [0x495b5c]
and eax, 0x7e2df0bd
xor eax, 0x96bd2e18
cmp eax, 0x7b5cbd81
jge 0x4157d1
mov eax, dword [0x48adc0]
imul eax, eax, 0x7d642b9a
add eax, 0x3e76f859
mov ecx, dword [0x48ec74]
or ecx, eax
mov dword [0x48ec74], ecx
jmp 0x4157d6
mov eax, dword [esp + 0x23c]
add eax, 1
mov dword [esp + 0x23c], eax
jmp 0x415758
mov eax, dword [0x48dbe8]
add eax, 0xe3612b45
mov dword [0x48dbe8], eax
jmp 0x415820
mov dword [0x490474], 0x604d686c
mov eax, dword [esp + 0x240]
add eax, 1
mov dword [esp + 0x240], eax
jmp 0x415677
lea eax, [esp + 0x678]
mov ecx, dword [0x48afc0]
and ecx, 0xeb7fbaf0
mov dword [0x48afc0], ecx
mov ecx, esp
mov dword [ecx], eax
call fcn.004523c0
mov ecx, dword [esp + 0x9ac]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x138], eax
call fcn.004523c0
mov ecx, dword [esp + 0x138]
add ecx, eax
cmp ecx, 0x1ff
jbe 0x415882
mov eax, dword [0x48e4d0]
add eax, 0xc4f78bcb
mov dword [0x48e4d0], eax
jmp 0x4178f9
mov eax, 0xbeb21108
mov ecx, dword [0x491eb0]
cmp eax, ecx
je 0x4158ad
mov ax, word [0x489886]
mov cx, ax
xor ecx, 0xf3e6
mov ax, cx
mov word [0x489886], ax
mov eax, 0x1f2c61b1
mov ecx, dword [esp + 0x9ac]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x678]
mov dword [edx], ecx
mov dword [esp + 0x134], eax
call fcn.00455490
mov ecx, dword [0x48bb08]
sub ecx, 0xc7b5d998
xor ecx, 0xb210225b
mov edx, dword [esp + 0x134]
cmp edx, ecx
mov dword [esp + 0x130], eax
jl 0x415951
mov ax, word [0x48267a]
movsx ecx, ax
or ecx, 0xe6e001c5
mov edx, dword [0x4947b4]
mov ax, word [0x4808f2]
movsx esi, ax
imul edx, esi
sub edx, 0x241a74c6
cmp ecx, edx
jg 0x41594c
mov eax, dword [0x4967dc]
mov ecx, eax
inc ecx
mov dword [0x4967dc], ecx
or eax, 0x9969c3b8
mov ecx, dword [0x48fd00]
imul ecx, eax
mov dword [0x48fd00], ecx
jmp 0x415951
mov dword [esp + 0x23c], 0
mov eax, dword [0x48c7e8]
add eax, 0x3cbbd7ff
mov dword [0x48c7e8], eax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x4123
call fcn.00445b40
mov dword [esp + 0x9a0], eax
mov dword [0x48e0f8], 0x80001208
mov eax, dword [esp + 0x9a0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x64c]
call fcn.0041e970
sub esp, 4
mov dword [0x493b88], 0x36a210ed
mov ecx, dword [esp + 0x9a0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x12c], eax
call fcn.004235c0
mov eax, dword [0x49aec8]
mov si, word [0x48841a]
movsx ecx, si
sar ecx, 6
imul eax, ecx
mov ecx, dword [0x490a98]
add ecx, eax
mov dword [0x490a98], ecx
mov eax, dword [esp + 0x9b0]
mov ecx, eax
call fcn.004270e0
cmp eax, 0
je 0x415d3d
mov eax, 0x25f1f7e9
mov cx, word [0x4812f4]
mov dx, cx
shl edx, 3
mov esi, dword [0x496a24]
xor esi, edx
mov cx, word [0x4802b6]
mov dx, cx
xor esi, edx
not esi
mov cx, si
mov word [0x4802b6], cx
mov edx, esp
mov dword [edx + 4], 0xc
mov dword [edx], 0x39d7
mov dword [esp + 0x128], eax
call fcn.00445b40
mov dword [esp + 0x99c], eax
mov cx, word [0x4874ae]
mov ax, cx
dec eax
mov cx, ax
mov word [0x4874ae], cx
movsx eax, cx
mov edx, dword [0x49ccc4]
add eax, edx
mov edx, dword [0x48c890]
or eax, edx
mov dword [0x490cb0], eax
mov ecx, dword [esp + 0x9b0]
mov eax, dword [esp + 0x99c]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x208]
mov dword [esp + 0x124], ecx
mov ecx, eax
mov dword [esp + 0x120], eax
call fcn.00413300
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x120]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x11c], eax
call fcn.00422550
sub esp, 8
mov dword [esp + 0x240], eax
mov ecx, dword [esp + 0x120]
call fcn.0044fda0
mov eax, dword [0x49a940]
mov ecx, eax
dec ecx
mov dword [0x49a940], ecx
mov ecx, 0xd007aeb9
sub ecx, eax
mov di, cx
mov word [0x4870b6], di
mov eax, dword [esp + 0x99c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.004235c0
mov eax, dword [0x497c00]
dec eax
mov dword [0x497c00], eax
mov ecx, dword [esp + 0x128]
cmp ecx, eax
jge 0x415b6e
mov ax, word [0x482ed0]
movsx ecx, ax
mov edx, dword [0x48b008]
add edx, 0x8a925dc4
xor ecx, edx
mov edx, dword [0x4974b8]
and edx, ecx
mov dword [0x4974b8], edx
cmp dword [esp + 0x240], 0
jne 0x415d14
mov eax, 0x108c01b4
mov ecx, dword [0x48cd58]
add ecx, 0xdac238e4
mov dword [0x48cd58], ecx
mov dword [esp + 0x23c], 1
mov ecx, dword [0x48cd44]
imul ecx, ecx, 0x634091eb
xor ecx, 0xe5fc6769
mov edx, dword [0x48dc1c]
add edx, ecx
mov dword [0x48dc1c], edx
mov ecx, dword [esp + 0x9b0]
mov edx, esp
mov dword [edx], 0
mov dword [esp + 0x118], ecx
mov dword [esp + 0x114], eax
call fcn.0044ffa0
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0xb
mov ecx, dword [esp + 0x118]
call fcn.00444420
sub esp, 8
mov ecx, dword [0x48e674]
mov edx, ecx
inc edx
mov dword [0x48e674], edx
mov edx, 0xcef4a38e
sub edx, ecx
mov si, word [0x485fd8]
mov cx, si
xor ecx, edx
mov si, cx
mov word [0x485fd8], si
mov ecx, esp
mov dword [ecx + 4], 6
mov dword [ecx], 0x4257
mov dword [esp + 0x110], eax
call fcn.00445b40
mov dword [esp + 0x998], eax
mov si, word [0x483a9a]
movsx eax, si
imul eax, eax, 0x5ff8726d
xor eax, 0xde93dace
mov ecx, dword [0x499c30]
add ecx, eax
mov dword [0x499c30], ecx
mov eax, dword [esp + 0x998]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x64c]
call fcn.0041e970
sub esp, 4
mov ecx, dword [0x494f3c]
shr ecx, 9
mov edx, 0x4889679f
sub edx, ecx
mov si, word [0x48298c]
mov cx, si
and ecx, edx
mov si, cx
mov word [0x48298c], si
mov ecx, dword [esp + 0x998]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 6
mov dword [esp + 0x10c], eax
call fcn.004235c0
mov eax, dword [0x498be8]
or eax, 0xbdfaca37
mov ecx, dword [esp + 0x114]
cmp ecx, eax
jg 0x415d0f
mov eax, 0xc0ef8a5
mov ecx, dword [0x4985d8]
sar ecx, 9
cmp eax, ecx
jl 0x415d0a
mov eax, dword [0x48b7f4]
and eax, 0x673828c9
mov dword [0x48b7f4], eax
jmp 0x415d0f
jmp 0x415d14
mov eax, dword [0x492788]
mov ecx, dword [0x494e80]
sub eax, ecx
and eax, 0xf47a
mov dx, word [0x47fe26]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x47fe26], dx
mov eax, 0x5c1092c2
mov ecx, dword [0x49a4d0]
mov edx, dword [0x48e6c0]
and edx, ecx
mov dword [0x48e6c0], edx
mov ecx, esp
lea edx, [esp + 0x678]
mov dword [ecx], edx
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x104], eax
call fcn.00446610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x108]
mov dword [ecx], edx
lea ecx, [esp + 0x64c]
mov dword [esp + 0x100], ecx
mov dword [esp + 0xfc], eax
call fcn.00422860
sub esp, 4
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xf8], eax
call fcn.0044fbd0
mov eax, dword [0x49a10c]
imul eax, eax, 0x2fba810c
mov dword [0x49a10c], eax
mov eax, esp
mov dword [eax + 4], 0x32
mov dword [eax], 0x1663
call fcn.00445b40
mov dword [esp + 0x994], eax
mov eax, dword [0x4970dc]
dec eax
mov dword [0x4970dc], eax
imul eax, eax, 0xb4b0b1e4
mov ecx, dword [0x49c9e8]
xor ecx, eax
mov dword [0x49c9e8], ecx
mov eax, dword [esp + 0x994]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x1e0]
mov ecx, eax
mov dword [esp + 0xf4], eax
call fcn.00446610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xf4]
mov dword [ecx], edx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0xf0], eax
call fcn.00422860
sub esp, 4
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0xec], eax
call fcn.0044fbd0
mov eax, dword [0x4921ec]
or eax, 0x27016a03
mov dword [0x4921ec], eax
mov eax, dword [esp + 0x994]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x32
call fcn.004235c0
mov si, word [0x48035e]
mov ax, si
and eax, 0x251
mov si, ax
mov word [0x48035e], si
mov eax, esp
lea ecx, [esp + 0x878]
mov dword [eax], ecx
lea eax, [esp + 0x1cc]
mov ecx, eax
mov dword [esp + 0xe8], eax
call fcn.00446610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xe8]
mov dword [ecx], edx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0xe4], eax
call fcn.00422860
sub esp, 4
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xe0], eax
call fcn.0044fbd0
mov si, word [0x48484a]
movsx eax, si
sub eax, 0x1f9e5db4
sub eax, 0x95e38864
mov ecx, dword [esp + 0x104]
cmp ecx, eax
je 0x415f1c
mov word [0x482d80], 0x639f
cmp dword [esp + 0x23c], 0
je 0x4161f0
mov eax, dword [0x489c00]
mov ecx, 0x66faa15f
sub ecx, eax
or ecx, 0x7666383a
mov eax, dword [0x4934fc]
inc eax
mov dword [0x4934fc], eax
cmp ecx, eax
je 0x415f7d
mov ax, word [0x4840ca]
movsx ecx, ax
and ecx, 0x56931340
mov edx, dword [0x495f7c]
mov esi, edx
inc esi
mov dword [0x495f7c], esi
or ecx, edx
mov edx, dword [0x493824]
add edx, ecx
mov dword [0x493824], edx
mov eax, 0x3af3f463
mov ecx, esp
mov dword [ecx + 4], 0x44
mov dword [ecx], 0x4737
mov dword [esp + 0xdc], eax
call fcn.00445b40
mov dword [esp + 0x990], eax
mov eax, dword [0x48c250]
and eax, 0x67bfd2a
mov dword [0x48c250], eax
mov eax, dword [esp + 0x990]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x1b8]
mov ecx, eax
mov dword [esp + 0xd8], eax
call fcn.00446610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xd8]
mov dword [ecx], edx
lea ecx, [esp + 0x64c]
mov dword [esp + 0xd4], eax
call fcn.00422860
sub esp, 4
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0xd0], eax
call fcn.0044fbd0
mov si, word [0x4880fc]
movsx eax, si
imul eax, eax, 0x3d02f574
or eax, 0xca4000ae
mov dword [0x49d1b0], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x3479
call fcn.00445b40
mov dword [esp + 0x98c], eax
mov eax, dword [0x496ddc]
shl eax, 2
mov ecx, dword [esp + 0xdc]
cmp ecx, eax
jl 0x416065
mov eax, dword [0x4945dc]
add eax, 0x557a216c
mov dword [0x4945dc], eax
mov eax, 0x3a4c1200
mov ecx, dword [esp + 0x990]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x44
mov dword [esp + 0xcc], eax
call fcn.004235c0
mov si, word [0x488c0e]
mov ax, si
inc eax
mov si, ax
mov word [0x488c0e], si
movsx eax, si
mov ecx, dword [0x49b8d0]
mov edx, ecx
inc edx
mov dword [0x49b8d0], edx
imul eax, ecx
mov ecx, dword [esp + 0xcc]
cmp ecx, eax
jl 0x4160df
mov eax, dword [0x49c8a4]
imul eax, eax, 0x31df34b9
mov ecx, dword [0x493e34]
or ecx, eax
mov dword [0x493e34], ecx
jmp 0x416112
mov eax, 0xbb3839bb
mov ecx, dword [0x48f124]
or ecx, 0x241d72de
or ecx, 0xeb620d5c
cmp eax, ecx
jg 0x41610d
mov eax, dword [0x498cf8]
xor eax, 0x1feda281
mov dword [0x498cf8], eax
jmp 0x416112
mov ecx, dword [esp + 0x9b0]
call fcn.004270e0
mov ecx, dword [esp + 0x98c]
mov edx, esp
mov dword [edx + 8], eax
mov dword [edx + 4], ecx
lea eax, [esp + 0x24c]
mov dword [edx], eax
mov dword [esp + 0xc8], eax
call fcn.00455a57
mov ecx, dword [0x48b168]
add ecx, 0xd3323a57
mov dword [0x48b168], ecx
mov ecx, dword [esp + 0x98c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 3
mov dword [esp + 0xc4], eax
call fcn.004235c0
mov eax, dword [0x496f24]
or eax, 0x6c86b042
mov dword [0x496f24], eax
mov eax, esp
mov ecx, dword [esp + 0xc8]
mov dword [eax], ecx
lea eax, [esp + 0x1a4]
mov ecx, eax
mov dword [esp + 0xc0], eax
call fcn.00446610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xc0]
mov dword [ecx], edx
lea ecx, [esp + 0x64c]
mov dword [esp + 0xbc], eax
call fcn.00422860
sub esp, 4
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xb8], eax
call fcn.0044fbd0
mov eax, dword [0x48c178]
or eax, 0xcc9e4c64
mov ecx, dword [0x4998b4]
sub ecx, eax
mov dword [0x4998b4], ecx
mov eax, dword [0x48dba4]
and eax, 0x59a4a527
mov dword [0x48dba4], eax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x1d40
call fcn.00445b40
mov dword [esp + 0x988], eax
mov eax, dword [0x492ad8]
xor eax, 0xffffffff
sub eax, 0xc5a3677d
cmp eax, 0x5241052b
jl 0x41627a
mov eax, 0x80485b8b
mov ecx, dword [0x49d6a4]
mov edx, ecx
inc edx
mov dword [0x49d6a4], edx
xor ecx, 0xe4953e03
xor ecx, 0x400ead7e
cmp eax, ecx
je 0x416275
mov eax, dword [0x48c6bc]
shl eax, 6
add eax, 0x8c40e1fc
mov ecx, dword [0x491960]
xor ecx, eax
mov dword [0x491960], ecx
jmp 0x41627a
mov eax, 0x4a10e00f
mov ecx, dword [esp + 0x988]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb0], eax
call fcn.00446610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xb4]
mov dword [ecx], edx
lea ecx, [esp + 0x64c]
mov dword [esp + 0xac], eax
call fcn.00422860
sub esp, 4
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xa8], eax
call fcn.0044fbd0
mov eax, dword [0x48eeac]
inc eax
mov dword [0x48eeac], eax
mov ecx, dword [esp + 0xb0]
cmp ecx, eax
jg 0x4162fe
mov word [0x480064], 0x121d
mov eax, dword [esp + 0x988]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.004235c0
mov eax, dword [0x499ae8]
mov ecx, dword [0x4907f4]
imul eax, ecx
mov dx, word [0x4832fa]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x4832fa], dx
cmp dword [esp + 0x23c], 0
je 0x416393
mov ax, word [0x481512]
mov cx, ax
add ecx, 0x696618fa
mov ax, cx
mov word [0x481512], ax
mov ecx, dword [esp + 0x9b0]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x64c]
call fcn.00422860
sub esp, 4
mov ecx, dword [0x49750c]
xor ecx, 0xa6f8308c
mov dword [0x49750c], ecx
mov dword [esp + 0xa4], eax
mov eax, 0x6842ecd8
mov word [0x482db2], 0x2127
mov ecx, dword [0x47faec]
mov edx, esp
lea esi, [esp + 0x878]
mov dword [edx], esi
mov dword [esp + 0xa0], eax
call ecx
sub esp, 4
mov dword [esp + 0x248], eax
mov eax, dword [0x49b678]
imul eax, eax, 0x45869754
mov ecx, dword [esp + 0xa0]
sub ecx, eax
cmp ecx, 0x5d910b54
jne 0x416432
mov eax, 0xf3f5cfee
mov ecx, dword [0x4940f4]
shl ecx, 2
mov edx, dword [0x48db14]
xor edx, 0xffffffff
or ecx, edx
cmp eax, ecx
jne 0x41641a
mov eax, dword [0x49c700]
add eax, 0x9b3b5c44
mov dword [0x49c700], eax
jmp 0x41642d
mov eax, dword [0x49a924]
mov ecx, dword [0x48f3f4]
and ecx, eax
mov dword [0x48f3f4], ecx
jmp 0x416432
cmp dword [esp + 0x248], 0
jne 0x416458
mov eax, dword [0x49202c]
mov ecx, dword [0x494558]
or ecx, eax
mov dword [0x494558], ecx
jmp 0x4178f9
mov eax, dword [0x49cbc0]
add eax, 0x105
mov dword [0x49cbc0], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x660], xmm0
mov cx, word [0x4898d4]
movsx eax, cx
sar eax, 5
mov edx, dword [0x496e3c]
add eax, edx
mov cx, word [0x487948]
movsx edx, cx
sub eax, edx
mov edx, dword [0x48d970]
or edx, eax
mov dword [0x48d970], edx
mov word [esp + 0x660], 2
mov eax, dword [0x49a594]
and eax, 0xfe7fe7e7
mov dword [0x49a594], eax
mov eax, dword [0x47faf4]
mov edx, dword [0x47faf8]
mov esi, dword [esp + 0x248]
mov esi, dword [esi + 0xc]
mov esi, dword [esi]
mov esi, dword [esi]
mov dword [esp + 0x18c], esi
mov esi, dword [esp + 0x18c]
mov edi, esp
mov dword [edi], esi
mov dword [esp + 0x9c], eax
call edx
sub esp, 4
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x9c]
call eax
sub esp, 4
mov dword [esp + 0x664], eax
mov eax, dword [0x49d38c]
dec eax
mov dword [0x49d38c], eax
cmp eax, 0xe830835a
jle 0x416545
mov eax, dword [0x48bc54]
mov ecx, eax
dec ecx
mov dword [0x48bc54], ecx
mov ecx, 0xf78a4b38
sub ecx, eax
and ecx, 0x5abf551d
mov eax, dword [0x4995f4]
sub eax, ecx
mov dword [0x4995f4], eax
mov eax, dword [0x47faf0]
movzx ecx, word [esp + 0x220]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov word [esp + 0x662], ax
mov ecx, dword [0x49873c]
and ecx, 0x3bba31c
mov dword [0x49873c], ecx
cmp dword [esp + 0x9b4], 0
je 0x416706
mov eax, 0x10800000
mov ecx, dword [0x499d8c]
mov dx, word [0x4898d0]
mov si, dx
lea ecx, [ecx + esi + 0xb4dc1c8]
mov dx, cx
mov word [0x4898d0], dx
mov ecx, dword [esp + 0x9b4]
mov esi, 0x10624dd3
mov dword [esp + 0x98], eax
mov eax, ecx
mul esi
shr edx, 6
mov eax, esp
mov dword [eax + 4], edx
lea ecx, [esp + 0x660]
mov dword [eax], ecx
call fcn.00427380
mov dword [esp + 0x674], eax
mov eax, dword [0x498290]
sar eax, 6
mov ecx, dword [esp + 0x98]
cmp ecx, eax
je 0x416608
mov eax, dword [0x498718]
add eax, 0xe70697fc
mov dword [0x498718], eax
jmp 0x416617
mov eax, dword [0x49146c]
xor eax, 0x2e6716c5
mov dword [0x49146c], eax
cmp dword [esp + 0x674], 0
jge 0x416642
mov eax, dword [0x48e830]
xor eax, 0x979f86a7
mov ecx, dword [0x49c8f8]
and ecx, eax
mov dword [0x49c8f8], ecx
jmp 0x4178f9
mov eax, dword [0x48b890]
sar eax, 9
add eax, 0xf6cd74f8
mov ecx, dword [0x48c790]
or ecx, eax
mov dword [0x48c790], ecx
mov eax, dword [0x47fb0c]
mov ecx, dword [esp + 0x674]
mov edx, esp
lea esi, [esp + 0x9b4]
mov dword [edx + 0xc], esi
mov dword [edx], ecx
mov dword [edx + 0x10], 4
mov dword [edx + 8], 0x1006
mov dword [edx + 4], 0xffff
mov dword [esp + 0x94], esi
call eax
sub esp, 0x14
mov dword [0x494280], 0xcd43ad05
mov ecx, dword [0x47fb0c]
mov edx, dword [esp + 0x674]
mov esi, esp
mov edi, dword [esp + 0x94]
mov dword [esi + 0xc], edi
mov dword [esi], edx
mov dword [esi + 0x10], 4
mov dword [esi + 8], 0x1005
mov dword [esi + 4], 0xffff
mov dword [esp + 0x90], eax
call ecx
sub esp, 0x14
mov bx, word [0x483412]
movsx ecx, bx
sar ecx, 6
mov edx, dword [0x491c0c]
imul edx, ecx
mov dword [0x491c0c], edx
mov dword [esp + 0x8c], eax
jmp 0x41685f
mov eax, dword [0x494d00]
add eax, 0x26200401
mov dword [0x494d00], eax
mov eax, dword [0x47fb10]
mov ecx, esp
mov dword [ecx + 8], 6
mov dword [ecx + 4], 1
mov dword [ecx], 2
call eax
sub esp, 0xc
mov dword [esp + 0x674], eax
mov eax, dword [0x495c60]
sar eax, 5
or eax, 0x81c3e42c
mov ecx, dword [0x49a8ac]
xor ecx, eax
mov dword [0x49a8ac], ecx
cmp dword [esp + 0x674], 0xffffffff
jne 0x41679b
mov eax, 0x820e4fbd
mov ecx, dword [0x49ac5c]
and ecx, 0x925181ec
cmp eax, ecx
je 0x416796
mov ax, word [0x4821f0]
mov cx, ax
xor ecx, 0x200b
mov ax, cx
mov word [0x4821f0], ax
jmp 0x4178f9
mov eax, 0x15cccc3b
mov cx, word [0x486b52]
movsx edx, cx
shl edx, 3
imul edx, edx, 0x7b65aa04
add edx, 0xf1698e6c
cmp eax, edx
jl 0x4167d5
mov eax, dword [0x48c478]
add eax, 0x69401c81
mov dword [0x48c478], eax
jmp 0x4167f6
mov eax, dword [0x48d9f8]
mov ecx, dword [0x49ab94]
xor eax, ecx
or eax, 0xbe6cde81
mov ecx, dword [0x48fa08]
imul ecx, eax
mov dword [0x48fa08], ecx
lea eax, [esp + 0x660]
mov ecx, dword [0x47fae8]
mov edx, dword [esp + 0x674]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [esi + 8], 0x10
call ecx
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x416846
mov eax, dword [0x49c2f4]
shl eax, 9
mov ecx, 0x35d6a177
sub ecx, eax
mov eax, dword [0x48d764]
and eax, ecx
mov dword [0x48d764], eax
jmp 0x41789f
mov eax, dword [0x49340c]
xor eax, 0x10440308
mov ecx, dword [0x493c68]
imul ecx, eax
mov dword [0x493c68], ecx
lea eax, [esp + 0x64c]
mov cx, word [0x4844da]
mov dx, cx
add edx, 0x328afea7
mov cx, dx
mov word [0x4844da], cx
mov edx, dword [0x47fb08]
lea esi, [esp + 0x64c]
mov ecx, esi
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], esi
call fcn.004270e0
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x7c], eax
call fcn.0044fac0
mov ecx, dword [esp + 0x674]
mov edx, esp
mov esi, dword [esp + 0x7c]
mov dword [edx + 8], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [edx + 0xc], 0
mov eax, dword [esp + 0x84]
call eax
sub esp, 0x10
mov dword [esp + 0x670], eax
mov eax, dword [0x48a45c]
not eax
add eax, 0xb17393ab
mov di, word [0x482414]
movsx ecx, di
sar ecx, 5
and eax, ecx
mov ecx, dword [0x4978f8]
xor ecx, eax
mov dword [0x4978f8], ecx
mov eax, dword [esp + 0x670]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x78], eax
call fcn.004270e0
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jae 0x4169ce
mov eax, 0x8f59ca15
mov ecx, dword [0x4923f4]
shl ecx, 2
add ecx, 0x3badd3ce
cmp eax, ecx
je 0x416964
mov eax, dword [0x48ac44]
xor eax, 0x778ce27b
mov dword [0x48ac44], eax
jmp 0x4169c9
mov eax, 0xc3755822
mov ecx, dword [0x493efc]
inc ecx
mov dword [0x493efc], ecx
add ecx, 0x7886fc34
or ecx, 0x9139438a
cmp eax, ecx
jg 0x4169a7
mov eax, 0x32c77f28
mov ecx, dword [0x499bb0]
cmp eax, ecx
je 0x4169a2
jmp 0x4169a2
jmp 0x4169c4
mov eax, 0xca2fbc83
mov ecx, dword [0x498714]
cmp eax, ecx
jg 0x4169bf
jmp 0x4169bf
jmp 0x4169c4
jmp 0x4169c9
jmp 0x41789f
mov ax, word [0x480008]
movsx ecx, ax
mov dword [0x49a39c], ecx
mov ecx, dword [esp + 0x9b0]
call fcn.0044fad0
mov ecx, dword [0x48f594]
imul ecx, ecx, 0x8a880010
mov dword [0x48f594], ecx
mov eax, dword [0x4983b8]
not eax
and eax, 0xd89a541d
mov ecx, dword [0x493124]
sub ecx, eax
mov dword [0x493124], ecx
mov eax, dword [0x47fb00]
mov ecx, dword [esp + 0x674]
mov edx, esp
lea esi, [esp + 0x24c]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [edx + 0xc], 0
mov dword [edx + 8], 0x400
call eax
sub esp, 0x10
mov dword [esp + 0x670], eax
mov eax, dword [0x498c48]
shl eax, 6
add eax, 0x3bcb91bc
mov ecx, dword [0x497c44]
and ecx, eax
mov dword [0x497c44], ecx
cmp dword [esp + 0x670], 0
jle 0x416a95
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], eax
call fcn.0041ec10
cmp eax, 0
je 0x416add
mov eax, 0xc3cdb96c
mov ecx, 0x12303a1f
mov edx, dword [0x49186c]
mov si, word [0x480a3c]
mov di, si
dec edi
mov si, di
mov word [0x480a3c], si
movsx edi, si
sub ecx, edi
or edx, ecx
cmp eax, edx
je 0x416ad8
mov eax, dword [0x48d00c]
add eax, 0x3c3b97a0
mov dword [0x48d00c], eax
jmp 0x4175d0
mov eax, dword [0x497074]
dec eax
mov dword [0x497074], eax
mov ecx, dword [0x490bf0]
imul ecx, eax
mov dword [0x490bf0], ecx
mov eax, dword [esp + 0x9b0]
mov ecx, eax
mov dword [esp + 0x74], eax
call fcn.004270e0
mov ecx, dword [esp + 0x670]
add eax, ecx
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x74]
call fcn.0044ed90
sub esp, 8
mov eax, dword [0x489bfc]
mov ecx, eax
inc ecx
mov dword [0x489bfc], ecx
add eax, 0x6d00c2cf
mov ecx, dword [0x4918e4]
or ecx, 0x89a5a650
cmp eax, ecx
jne 0x416b74
mov eax, dword [0x490320]
mov ecx, eax
inc ecx
mov dword [0x490320], ecx
mov dx, word [0x483852]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x483852], dx
mov eax, dword [esp + 0x9b0]
mov ecx, eax
call fcn.0044fef0
cmp eax, 0
jne 0x416ba8
mov ax, word [0x480fa4]
mov cx, ax
and ecx, 0x89f9
mov ax, cx
mov word [0x480fa4], ax
jmp 0x4175d0
mov eax, 0x73e9371b
mov ecx, dword [0x48b4bc]
sub ecx, 0x798cc066
cmp eax, ecx
jle 0x416be1
mov eax, dword [0x496050]
shl eax, 9
and eax, 0xcef43800
mov ecx, dword [0x49a08c]
add ecx, eax
mov dword [0x49a08c], ecx
jmp 0x416bf9
mov ax, word [0x487134]
mov cx, ax
imul ecx, ecx, 0x8cd937c4
mov ax, cx
mov word [0x487134], ax
mov eax, 0x293c1e30
mov ecx, dword [esp + 0x9b0]
mov edx, dword [esp + 0x670]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x24c]
mov dword [esi], edx
mov dword [esp + 0x70], eax
call fcn.00411580
sub esp, 8
mov di, word [0x487256]
mov cx, di
inc ecx
mov bx, cx
mov word [0x487256], bx
movsx ecx, di
mov di, word [0x483d86]
mov dx, di
inc edx
mov di, dx
mov word [0x483d86], di
movsx edx, di
xor ecx, edx
mov edx, dword [esp + 0x70]
cmp edx, ecx
mov dword [esp + 0x6c], eax
jle 0x416c8c
mov eax, dword [0x48c570]
mov ecx, dword [0x48c6fc]
not ecx
neg ecx
lea eax, [eax + ecx + 0x39bfdee2]
mov ecx, dword [0x4953d0]
or ecx, eax
mov dword [0x4953d0], ecx
cmp dword [esp + 0x228], 0
jge 0x417033
mov eax, 0x235a16e3
mov cx, word [0x484c64]
mov dx, cx
imul edx, edx, 0x314147e2
mov cx, dx
mov word [0x484c64], cx
mov edx, esp
mov dword [edx + 4], 5
mov dword [edx], 0x1d40
mov dword [esp + 0x68], eax
call fcn.00445b40
mov dword [esp + 0x984], eax
mov eax, dword [0x495850]
shr eax, 6
imul eax, eax, 0x69e0bb8f
and eax, 0x5e7a
mov cx, ax
mov word [0x481b32], cx
mov ecx, dword [esp + 0x9b0]
mov eax, dword [esp + 0x984]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x178]
mov dword [esp + 0x64], ecx
mov ecx, eax
mov dword [esp + 0x60], eax
call fcn.00413300
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x60]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x5c], eax
call fcn.00422550
sub esp, 8
mov dword [esp + 0x228], eax
mov ecx, dword [esp + 0x60]
call fcn.0044fda0
mov eax, dword [0x495f74]
mov ecx, eax
dec ecx
mov dword [0x495f74], ecx
xor eax, 0xca901673
mov ecx, dword [0x48d23c]
and ecx, eax
mov dword [0x48d23c], ecx
mov eax, dword [esp + 0x984]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.004235c0
mov eax, dword [0x497fcc]
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jne 0x416da7
mov dword [0x493ee0], 0xb919fa0a
jmp 0x416dcf
mov eax, dword [0x49c558]
shr eax, 0xa
and eax, 0x109c
mov cx, word [0x480668]
mov dx, cx
lea eax, [edx + eax + 0xc360]
mov cx, ax
mov word [0x480668], cx
cmp dword [esp + 0x228], 0
jl 0x417024
mov eax, dword [0x48adc0]
shl eax, 0xa
mov ecx, dword [0x489f88]
and ecx, eax
mov dword [0x489f88], ecx
mov eax, dword [esp + 0x228]
add eax, 4
mov dword [esp + 0x228], eax
mov dx, word [0x482ebe]
movsx eax, dx
sar eax, 5
mov ecx, dword [0x490ce8]
xor ecx, eax
mov dword [0x490ce8], ecx
mov eax, dword [esp + 0x9b0]
mov ecx, esp
mov dword [ecx], eax
call fcn.00417c30
mov dword [esp + 0x224], eax
mov dx, word [0x489088]
movsx eax, dx
sar eax, 5
add eax, 0x381bcbd3
mov ecx, dword [0x4910b0]
sub ecx, eax
mov dword [0x4910b0], ecx
cmp dword [esp + 0x224], 0
jge 0x417014
mov eax, 0x4f9fcc6
mov ecx, dword [0x49b40c]
xor ecx, 0xd52ea238
mov dword [0x49b40c], ecx
mov ecx, esp
mov dword [ecx + 4], 0xb
mov dword [ecx], 0x4116
mov dword [esp + 0x58], eax
call fcn.00445b40
mov dword [esp + 0x980], eax
mov eax, dword [0x48cd7c]
xor eax, 0x99e1364c
mov dword [0x48cd7c], eax
mov ecx, dword [esp + 0x9b0]
mov eax, dword [esp + 0x980]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x164]
mov dword [esp + 0x54], ecx
mov ecx, eax
mov dword [esp + 0x50], eax
call fcn.00413300
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
call fcn.00422550
sub esp, 8
mov dword [esp + 0x670], eax
mov ecx, dword [esp + 0x50]
call fcn.0044fda0
mov si, word [0x485092]
mov ax, si
mov si, word [0x4864a8]
mov cx, si
imul ecx, ecx, 0xc4100a90
or eax, ecx
mov si, word [0x481388]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x481388], si
mov eax, dword [esp + 0x980]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xb
call fcn.004235c0
mov eax, dword [0x49298c]
shl eax, 1
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jle 0x416fd2
mov eax, 0xae7f9ffe
mov cx, word [0x485d44]
mov dx, cx
dec edx
mov si, dx
mov word [0x485d44], si
movsx edx, cx
xor edx, 0x4f03ce4f
cmp eax, edx
jg 0x416fc3
mov ax, word [0x486f14]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x486f14], ax
imul ecx, ecx, 0x59257556
and ecx, 0x2e08
mov ax, word [0x480faa]
mov dx, ax
xor edx, ecx
mov ax, dx
mov word [0x480faa], ax
jmp 0x416fcd
mov dword [0x49d108], 0x57b7602c
jmp 0x416fd2
cmp dword [esp + 0x670], 0
jl 0x417005
mov eax, dword [0x493b0c]
not eax
add eax, 0x1c393a7c
or eax, 0xe4469779
mov ecx, dword [0x48f980]
imul ecx, eax
mov dword [0x48f980], ecx
jmp 0x4175d0
mov eax, dword [0x4957c4]
add eax, 0x44cb0d17
mov dword [0x4957c4], eax
mov eax, dword [0x48af6c]
imul eax, eax, 0xf0d2d3e0
mov dword [0x48af6c], eax
mov eax, dword [0x494804]
add eax, 0xf17ff593
mov dword [0x494804], eax
mov eax, dword [0x497230]
xor eax, 0x1c3502bf
mov dword [0x497230], eax
cmp dword [esp + 0x224], 0
jl 0x41721d
mov eax, 0x15910eb6
mov ecx, dword [0x49a24c]
shl ecx, 4
imul ecx, ecx, 0xbe458b
imul ecx, ecx, 0xcf0d93b0
cmp eax, ecx
je 0x4170cc
mov eax, 0x1c004008
mov ecx, dword [0x49109c]
mov edx, ecx
dec edx
mov dword [0x49109c], edx
sub ecx, 0x3bb343b0
cmp eax, ecx
jle 0x4170b8
mov eax, dword [0x49225c]
mov cx, word [0x48201c]
mov dx, cx
imul eax, edx
shl eax, 9
mov cx, ax
mov word [0x48201c], cx
jmp 0x4170c7
mov eax, dword [0x499530]
or eax, 0x92000
mov dword [0x499530], eax
jmp 0x4170cc
mov eax, dword [esp + 0x9b0]
mov ecx, eax
call fcn.004270e0
sub eax, dword [esp + 0x228]
cmp eax, dword [esp + 0x224]
jb 0x4171de
mov ax, word [0x47fe40]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x47fe40], ax
movsx ecx, ax
or ecx, 0x86c08828
cmp ecx, 0xe16505f3
jge 0x4171b0
mov eax, 0xdf28fc00
mov ecx, dword [0x499178]
mov edx, ecx
dec edx
mov dword [0x499178], edx
mov si, word [0x48652a]
mov dx, si
inc edx
mov si, dx
mov word [0x48652a], si
movsx edx, si
neg edx
lea ecx, [ecx + edx - 1]
mov edx, dword [0x49b974]
add ecx, edx
cmp eax, ecx
jg 0x417180
mov eax, 0x12ffeb20
mov ecx, dword [0x48a328]
and ecx, 0x8ce56cfc
cmp eax, ecx
jl 0x417176
jmp 0x41717b
jmp 0x41717b
jmp 0x4171ab
mov eax, dword [0x4951bc]
dec eax
mov dword [0x4951bc], eax
imul eax, eax, 0xf693fecc
mov cx, word [0x4855b8]
movsx edx, cx
or eax, edx
mov edx, dword [0x496440]
xor edx, eax
mov dword [0x496440], edx
jmp 0x4171d9
mov eax, dword [0x48fa00]
mov ecx, eax
inc ecx
mov dword [0x48fa00], ecx
mov dx, word [0x486c56]
mov cx, dx
lea eax, [eax + ecx + 0x7a5e0b4b]
mov dx, ax
mov word [0x486c56], dx
jmp 0x4175d0
mov eax, 0xfdfa77ef
mov cx, word [0x489852]
mov dx, cx
inc edx
mov si, dx
mov word [0x489852], si
movsx edx, cx
add edx, 0x7f24f964
cmp eax, edx
jg 0x417218
mov eax, dword [0x492788]
add eax, 0x2c1d96e2
mov dword [0x492788], eax
jmp 0x41721d
mov eax, dword [0x49b4ec]
not eax
mov ecx, dword [0x48baec]
and ecx, eax
mov dword [0x48baec], ecx
cmp dword [esp + 0x9b8], 0
je 0x4174d6
test byte [esp + 0x21f], 1
jne 0x4174d6
mov eax, dword [0x49bc7c]
inc eax
mov dword [0x49bc7c], eax
and eax, 0x292e0861
mov dword [0x498680], eax
mov eax, dword [esp + 0x9b0]
mov ecx, eax
call fcn.004270e0
cmp eax, 0x4000
jbe 0x417465
mov eax, dword [0x49c25c]
and eax, 0x9d565fe1
mov dword [0x49c25c], eax
mov byte [esp + 0x21f], 1
mov eax, dword [0x490b34]
mov ecx, dword [0x49cc9c]
lea eax, [eax + ecx - 0x37cd6023]
mov dword [0x49cc9c], eax
mov eax, dword [esp + 0x9b0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x150]
call fcn.00439830
sub esp, 4
mov dx, word [0x482d70]
movsx ecx, dx
add ecx, 0xdee4fcf8
cmp ecx, 0x67aa7b3
mov dword [esp + 0x48], eax
jg 0x417302
mov eax, dword [0x49af5c]
imul eax, eax, 0x839fb4c0
add eax, 0xa8411b5d
mov ecx, dword [0x499830]
sub ecx, eax
mov dword [0x499830], ecx
cmp dword [esp + 0x228], 0
jl 0x41737d
mov eax, dword [0x494cd4]
imul eax, eax, 0x3245e1a4
mov dword [0x494cd4], eax
mov eax, dword [esp + 0x228]
mov ecx, esp
mov dword [ecx], 0
lea ecx, [esp + 0x150]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
call fcn.0044ffa0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x40]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x44]
call fcn.00444420
sub esp, 8
mov ecx, dword [0x4910d4]
not ecx
mov edx, dword [0x496f78]
or ecx, edx
or ecx, 0x2fcb5f8c
mov dword [0x496f78], ecx
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x150]
lea ecx, [esp + 0x878]
mov edx, dword [0x499418]
imul edx, edx, 0x4e93ab70
mov dword [0x499418], edx
mov edx, dword [esp + 0x9b8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00425fd0
cmp eax, 0
jne 0x417411
mov eax, dword [0x495f94]
add eax, 0x89f66504
mov dword [0x495f94], eax
mov dword [esp + 0x228], 0xffffffff
mov eax, dword [0x498ba8]
add eax, 0x66f155d2
mov dword [0x498ba8], eax
mov ecx, dword [esp + 0x9b0]
call fcn.0044fad0
mov eax, dword [0x499150]
and eax, 0xa554f311
mov dword [0x499150], eax
mov dword [esp + 0x14c], 0xd
jmp 0x417426
mov dword [0x49b6d0], 0x5da828e7
mov dword [esp + 0x14c], 0
lea ecx, [esp + 0x150]
call fcn.0044fbd0
mov ecx, dword [esp + 0x14c]
test ecx, ecx
mov dword [esp + 0x38], ecx
je 0x417460
jmp 0x41744a
mov eax, dword [esp + 0x38]
sub eax, 0xd
mov dword [esp + 0x34], eax
je 0x4175d0
jmp 0x4179cc
jmp 0x417465
mov eax, dword [0x4989e8]
mov ecx, dword [0x494810]
dec ecx
mov dword [0x494810], ecx
and ecx, 0xdbdbd7a7
xor eax, ecx
mov ecx, dword [0x499274]
xor ecx, 0xffffffff
and ecx, 0x16508606
cmp eax, ecx
je 0x4174d1
mov eax, 0x77eaaebb
mov cx, word [0x486fd4]
movsx edx, cx
shl edx, 0xa
imul edx, edx, 0xdaa14693
and edx, 0x82b32af4
cmp eax, edx
je 0x4174cc
mov eax, dword [0x49b19c]
imul eax, eax, 0x81186ec1
mov dword [0x4947ec], eax
jmp 0x4174d1
jmp 0x4174d6
mov eax, dword [0x495d64]
xor eax, 0xb3db790a
mov dword [0x495d64], eax
cmp dword [esp + 0x9b4], 0x3aa6
jne 0x4175a2
mov eax, dword [0x490648]
mov cx, word [0x484a48]
mov dx, cx
inc edx
mov cx, dx
mov word [0x484a48], cx
movsx edx, cx
xor edx, 0xe22c67f2
cmp eax, edx
jne 0x41754e
mov eax, 0xeb25aeda
mov ecx, dword [0x48dd7c]
or ecx, 0x70f3acc6
cmp eax, ecx
jle 0x417549
mov eax, dword [0x49b370]
xor eax, 0x102248e
mov dword [0x49b370], eax
jmp 0x41755d
mov eax, dword [0x48c95c]
add eax, 0xc038fda9
mov dword [0x48c95c], eax
mov eax, dword [esp + 0x9b0]
mov ecx, eax
call fcn.004270e0
cmp eax, 0x500000
jbe 0x417593
mov eax, dword [0x49aef8]
or eax, 0xb931d2fc
mov ecx, dword [0x48a6c0]
and ecx, eax
mov dword [0x48a6c0], ecx
jmp 0x4175d0
mov eax, dword [0x498034]
add eax, 0x51a77f47
mov dword [0x498034], eax
mov eax, 0xb59e7271
mov ecx, dword [0x49cfdc]
dec ecx
mov dword [0x49cfdc], ecx
cmp eax, ecx
jne 0x4175cb
mov eax, dword [0x49a674]
or eax, 0x32948f53
mov dword [0x49a674], eax
jmp 0x4169fb
mov eax, 0xf0bd6af2
mov ecx, dword [0x49a1f4]
shl ecx, 1
xor ecx, 0x4100855
cmp eax, ecx
jge 0x417625
mov eax, 0xd93c29a
mov ecx, dword [0x495108]
mov edx, ecx
dec edx
mov dword [0x495108], edx
cmp eax, ecx
jl 0x417620
mov ax, word [0x48968c]
mov cx, ax
and ecx, 0xfe4e
mov ax, cx
mov word [0x48968c], ax
jmp 0x417625
cmp dword [esp + 0x228], 0
jl 0x4176ee
mov eax, 0x8534a823
mov ecx, dword [0x495d9c]
mov edx, ecx
dec edx
mov dword [0x495d9c], edx
mov si, word [0x481278]
mov dx, si
sub edx, ecx
mov si, dx
mov word [0x481278], si
mov ecx, dword [esp + 0x9b0]
mov edx, dword [esp + 0x228]
mov edi, esp
mov dword [edi], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
call fcn.0044ffa0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x30]
call fcn.00444420
sub esp, 8
mov ecx, dword [0x4953bc]
add ecx, 0x8942d683
xor ecx, 0xc061f93
mov edx, dword [esp + 0x2c]
cmp edx, ecx
mov dword [esp + 0x24], eax
jg 0x4176e9
mov ax, word [0x487c84]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x487c84], ax
mov ax, word [0x480f4c]
mov dx, ax
xor edx, ecx
mov ax, dx
mov word [0x480f4c], ax
jmp 0x4176ee
mov eax, dword [0x495d8c]
and eax, 0xda10c4c
mov dword [0x495d8c], eax
cmp dword [esp + 0x9b8], 0
je 0x41787b
test byte [esp + 0x21f], 1
jne 0x41787b
lea eax, [esp + 0x878]
mov dword [0x495ab8], 0xe8200181
mov ecx, dword [esp + 0x9b8]
mov edx, dword [esp + 0x9b0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00425fd0
cmp eax, 0
jne 0x4177b7
mov eax, 0xa1b9130
mov ecx, dword [0x497550]
mov edx, ecx
inc edx
mov dword [0x497550], edx
mov edx, dword [0x497ad8]
and ecx, edx
xor ecx, 0x5d0ec61
cmp eax, ecx
jge 0x41778a
mov eax, dword [0x48a3c4]
or eax, 0x310cde42
mov dword [0x48a3c4], eax
mov ecx, dword [esp + 0x9b0]
call fcn.0044fad0
mov ecx, dword [0x49876c]
mov eax, ecx
inc eax
mov dword [0x49876c], eax
or ecx, 0xbd22c7
mov eax, dword [0x492600]
imul eax, ecx
mov dword [0x492600], eax
mov eax, dword [0x48fa38]
imul eax, eax, 0xdfe779bb
or eax, 0xeff5cb22
cmp eax, 0x8cbd5a70
je 0x417802
mov eax, dword [0x48f054]
dec eax
mov dword [0x48f054], eax
mov cx, word [0x4892cc]
movsx edx, cx
imul eax, edx
and eax, 0x76ca557d
mov edx, dword [0x48a774]
add edx, eax
mov dword [0x48a774], edx
jmp 0x417876
mov eax, dword [0x49c3e0]
mov ecx, dword [0x4992c0]
inc ecx
mov dword [0x4992c0], ecx
or eax, ecx
mov dx, word [0x4823cc]
movsx ecx, dx
sar ecx, 6
imul ecx, ecx, 0x931ebcfa
xor ecx, 0x2adfa6d4
cmp eax, ecx
jg 0x417871
mov eax, 0x92117816
mov cx, word [0x489220]
mov dx, cx
dec edx
mov cx, dx
mov word [0x489220], cx
movsx edx, cx
and edx, 0xf5574536
cmp eax, edx
jge 0x417867
jmp 0x41786c
jmp 0x41786c
jmp 0x417871
jmp 0x417876
jmp 0x41787b
mov eax, dword [0x48aed8]
mov ecx, eax
dec ecx
mov dword [0x48aed8], ecx
mov ecx, dword [0x494dc8]
or eax, ecx
mov ecx, dword [0x4931f4]
and ecx, eax
mov dword [0x4931f4], ecx
mov eax, dword [0x47fb18]
mov ecx, dword [esp + 0x674]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 2
call eax
sub esp, 8
mov ecx, dword [0x49c3f0]
add ecx, 0xbb9e3702
mov dword [0x49c3f0], ecx
mov ecx, dword [0x47fae4]
mov edx, dword [esp + 0x674]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x20], eax
call ecx
sub esp, 4
mov di, word [0x4860dc]
mov word [0x4860dc], di
mov dword [esp + 0x1c], eax
mov eax, esp
lea ecx, [esp + 0x878]
mov dword [eax], ecx
mov dword [eax + 4], 0x80
call fcn.004233d0
mov dx, word [0x487a8a]
mov ax, dx
and eax, 0xf9a
mov dx, ax
mov word [0x487a8a], dx
mov eax, esp
lea ecx, [esp + 0x8f8]
mov dword [eax], ecx
mov dword [eax + 4], 0x80
call fcn.004233d0
mov dx, word [0x487686]
mov ax, dx
inc eax
mov dx, ax
mov word [0x487686], dx
movsx eax, dx
mov ecx, dword [0x48b008]
imul ecx, eax
mov dword [0x48b008], ecx
mov eax, esp
lea ecx, [esp + 0x678]
mov dword [eax], ecx
mov dword [eax + 4], 0x200
call fcn.004233d0
mov word [0x483d0c], 0xc5b0
mov eax, esp
lea ecx, [esp + 0x24c]
mov dword [eax], ecx
mov dword [eax + 4], 0x400
call fcn.004233d0
mov eax, dword [0x496780]
imul eax, eax, 0xa12b4680
xor eax, 0xe3
mov dx, ax
mov word [0x48241a], dx
lea ecx, [esp + 0x64c]
call fcn.0044fbd0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3