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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x5d4
mov eax, dword [0x49a0ec]
inc eax
mov dword [0x49a0ec], eax
mov ecx, dword [0x49855c]
mov edx, ecx
dec edx
mov dword [0x49855c], edx
cmp eax, ecx
jle 0x40d46f
mov eax, 0xffbf9f7f
mov cx, word [0x49e32e]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49e32e], cx
movsx edx, cx
mov cx, word [0x49da2c]
movsx esi, cx
or edx, esi
cmp eax, edx
je 0x40d46a
mov eax, dword [0x498bec]
dec eax
mov dword [0x498bec], eax
and eax, 0x2b7b6826
mov ecx, dword [0x49618c]
or ecx, eax
mov dword [0x49618c], ecx
jmp 0x40d46f
mov eax, 0x9ef7a7ed
lea ecx, [esp + 0x594]
mov dword [esp + 0x114], eax
call fcn.0040ecf0
mov ecx, dword [0x499640]
add ecx, 0x715adee9
mov dword [0x499640], ecx
mov ecx, dword [0x497d68]
or ecx, 0xea3dee24
mov dword [0x497d68], ecx
mov ecx, dword [0x49a300]
mov edx, dword [0x499d58]
mov esi, edx
inc esi
mov dword [0x499d58], esi
imul ecx, edx
mov di, word [0x49dc66]
mov dx, di
add edx, ecx
mov di, dx
mov word [0x49dc66], di
mov ecx, dword [0x495db0]
imul ecx, ecx, 0x6d86c4fc
mov dword [0x495db0], ecx
mov dword [esp + 0x118], 0
mov ecx, dword [0x496fec]
mov di, word [0x49cdc2]
movsx edx, di
shl edx, 1
imul ecx, edx
mov edx, dword [esp + 0x114]
cmp edx, ecx
mov dword [esp + 0x110], eax
jge 0x40d531
mov eax, dword [0x496a6c]
and eax, 0x5d769cdf
mov dword [0x496a6c], eax
mov dword [0x49eb1c], 0x94
mov ax, word [0x49c87a]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49c87a], dx
movsx ecx, ax
xor ecx, 0x214e3e4c
cmp ecx, 0xfff4bf7f
jl 0x40d592
mov eax, 0x4ce8c60d
mov ecx, dword [0x49758c]
inc ecx
mov dword [0x49758c], ecx
cmp eax, ecx
jl 0x40d58d
mov eax, dword [0x499f98]
xor eax, 0xe5778c6
mov dword [0x499f98], eax
jmp 0x40d592
mov eax, dword [0x493c20]
mov ecx, esp
mov dword [ecx], 0x49eb1c
call eax
sub esp, 4
mov ecx, dword [0x495828]
xor ecx, 0xe190
or ecx, 0xe45
mov dx, cx
mov word [0x49c400], dx
mov dword [esp + 0x10c], eax
call fcn.0040eec0
mov dword [0x49f4d0], eax
mov eax, dword [0x49543c]
inc eax
mov dword [0x49543c], eax
mov dx, ax
mov word [0x49e9cc], dx
call fcn.00448800
mov dword [0x49f4d4], eax
mov eax, dword [0x4970f0]
and eax, 0xb8d019d9
mov dword [0x4970f0], eax
mov eax, dword [0x49f4d0]
cmp eax, 0
je 0x40d7bc
mov eax, 0x1d9a683b
mov ecx, dword [0x495278]
add ecx, 0xdb46ac31
mov dword [0x495278], ecx
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [esp + 0x108], eax
mov dword [esp + 0x104], edx
call fcn.00442580
mov dword [esp + 0x124], eax
mov eax, dword [0x494e00]
xor eax, 0xccae662e
mov dword [0x494e00], eax
mov eax, dword [esp + 0x124]
mov byte [esp + eax + 0x12b], 0x5c
mov eax, dword [0x49428c]
imul eax, eax, 0xd84dabb8
mov dword [0x49428c], eax
mov eax, dword [esp + 0x124]
inc eax
mov dword [esp + 0x124], eax
mov eax, dword [0x494f08]
xor eax, 0xab684b08
mov dword [0x494f08], eax
mov eax, dword [esp + 0x124]
mov byte [esp + eax + 0x12b], 0
mov eax, dword [0x499af4]
or eax, 0x6dfedfb3
mov dword [0x499af4], eax
mov eax, dword [0x49f510]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x104]
mov dword [ecx], eax
call fcn.00455c70
mov ecx, dword [0x499750]
imul ecx, ecx, 0xeb5fd081
mov dword [0x499750], ecx
mov ecx, dword [0x493c68]
mov edx, esp
mov esi, dword [esp + 0x104]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x100], eax
call ecx
sub esp, 8
mov ecx, dword [0x49818c]
inc ecx
mov dword [0x49818c], ecx
or ecx, 0x2abdbe43
mov edx, dword [esp + 0x108]
cmp edx, ecx
mov dword [esp + 0xfc], eax
jl 0x40d739
mov eax, dword [0x499540]
or eax, 0x9c8dffac
mov dword [0x499540], eax
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x2613
call fcn.004179d0
mov dword [esp + 0x5d0], eax
mov eax, dword [0x49a42c]
add eax, 0xd578606b
mov dword [0x49a42c], eax
mov eax, dword [esp + 0x5d0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
call fcn.00455c70
mov ecx, dword [0x494ebc]
imul ecx, ecx, 0xbfa7ffd5
mov dword [0x494ebc], ecx
mov ecx, dword [esp + 0x5d0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xf8], eax
call fcn.004412d0
mov dword [0x49aac4], 0x208fe1f2
jmp 0x40d7f7
mov eax, dword [0x49a5fc]
add eax, 0x7a7b55ea
mov dword [0x49a5fc], eax
mov byte [esp + 0x12b], 0
mov eax, dword [0x495380]
cmp eax, 0x40001501
je 0x40d7f2
mov eax, dword [0x49981c]
add eax, 0x49d1bf4d
mov dword [0x49981c], eax
jmp 0x40d7f7
mov eax, 0x84e6612f
mov cx, word [0x49dac2]
mov dx, cx
inc edx
mov si, dx
mov word [0x49dac2], si
movsx edx, cx
cmp eax, edx
jl 0x40d826
mov dword [0x499258], 0x930a07f9
lea eax, [esp + 0x594]
lea ecx, [esp + 0x12b]
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x3304
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
call fcn.004179d0
mov dword [esp + 0x5cc], eax
mov dword [0x496370], 0xa4464dff
mov eax, dword [esp + 0x5cc]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x594]
call fcn.0042ecd0
sub esp, 4
mov ecx, dword [0x495574]
mov edx, dword [0x49479c]
sar edx, 9
mov esi, 0xd5b7b7cb
sub esi, edx
or ecx, esi
mov edx, dword [0x49af14]
add edx, ecx
mov dword [0x49af14], edx
mov ecx, dword [esp + 0x5cc]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xec], eax
call fcn.004412d0
mov eax, dword [0x498018]
xor eax, 0x3ffde1f7
mov dword [0x498018], eax
mov eax, dword [esp + 0xf4]
mov ecx, eax
call fcn.00445e50
lea ecx, [esp + 0x594]
mov dword [esp + 0xe8], eax
call fcn.0040b530
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xe4], ecx
call fcn.00439780
cmp eax, 0
je 0x40da03
mov eax, 0x11140414
mov ecx, dword [0x498390]
cmp eax, ecx
je 0x40d952
mov eax, dword [0x497e70]
xor eax, 0x6d536950
mov dword [0x497e70], eax
mov dword [esp + 0x118], 1
mov ax, word [0x49e9a6]
mov cx, ax
and ecx, 0x93c5
mov ax, cx
mov word [0x49e9a6], ax
mov ecx, dword [0x493bf4]
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx], esi
mov dword [esp + 0xe0], esi
call ecx
sub esp, 4
mov ecx, dword [0x499d5c]
or ecx, 0x203ae19d
mov dword [0x499d5c], ecx
mov ecx, dword [esp + 0x124]
mov byte [esp + ecx + 0x12b], 0
mov di, word [0x49cfbe]
mov cx, di
imul ecx, ecx, 0xe0629100
mov di, cx
mov word [0x49cfbe], di
mov ecx, dword [0x493c6c]
mov edx, esp
mov esi, dword [esp + 0xe0]
mov dword [edx], esi
mov dword [esp + 0xdc], eax
call ecx
sub esp, 4
mov ecx, dword [0x495638]
and ecx, 0xe4a02867
mov dword [0x495638], ecx
mov dword [esp + 0xd8], eax
mov eax, dword [0x49ae38]
or eax, 0x8297
mov cx, ax
mov word [0x49d05c], cx
mov eax, esp
lea edx, [esp + 0x12b]
mov dword [eax], edx
call fcn.00442580
mov edx, dword [0x4957a4]
shl edx, 4
mov cx, word [0x49d6d2]
movsx esi, cx
sar esi, 6
mov edi, dword [0x49aeb4]
shl edi, 3
xor esi, edi
cmp edx, esi
mov dword [esp + 0xd4], eax
jne 0x40da6b
mov eax, dword [0x496654]
or eax, 0x38b62d26
mov dword [0x496654], eax
jmp 0x40dad1
mov eax, dword [0x494624]
not eax
add eax, 0x16d3dda6
or eax, 0x7305a86d
mov ecx, dword [0x496014]
xor ecx, 0xffffffff
add ecx, 0xf53552fe
cmp eax, ecx
jne 0x40dab0
mov eax, 0xfe32a75d
mov ecx, dword [0x49753c]
cmp eax, ecx
jg 0x40daab
jmp 0x40daab
jmp 0x40dacc
mov eax, dword [0x497bc0]
mov ecx, eax
dec ecx
mov dword [0x497bc0], ecx
mov ecx, dword [0x494670]
sub ecx, eax
mov dword [0x494670], ecx
jmp 0x40dad1
mov byte [esp + 0x12e], 0
mov eax, dword [0x499558]
imul eax, eax, 0x865c5792
mov dword [0x499558], eax
mov eax, dword [0x49f510]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
mov dword [esp + 0xd0], eax
call fcn.00455c70
mov ecx, dword [0x49a978]
and ecx, 0x8c79ee6d
mov dword [0x49a978], ecx
mov ecx, dword [0x493c68]
mov edx, esp
mov esi, dword [esp + 0xd0]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0xcc], eax
call ecx
sub esp, 8
mov ecx, dword [0x49af8c]
not ecx
mov edx, dword [0x4968b0]
dec edx
mov dword [0x4968b0], edx
imul edx, edx, 0xe2f51f6d
sub ecx, edx
mov edx, dword [0x494d08]
and edx, ecx
mov dword [0x494d08], edx
mov ecx, esp
mov edx, dword [esp + 0xd0]
mov dword [ecx + 4], edx
mov dword [ecx], 0x49ed40
mov dword [esp + 0xc8], eax
call fcn.00455c60
mov ecx, dword [0x498888]
add ecx, 0xb586a29f
mov dword [0x498888], ecx
cmp dword [esp + 0x118], 0
mov dword [esp + 0xc4], eax
jne 0x40dc28
mov eax, 0x4ff7f77f
mov cx, word [0x49b7c4]
mov dx, cx
dec edx
mov si, dx
mov word [0x49b7c4], si
movsx edx, cx
mov edi, dword [0x49a110]
lea edx, [edx + edi - 0x4fdef79f]
mov dword [0x49a110], edx
mov dword [0x49f4cc], 0
mov cx, word [0x49c25e]
mov dx, cx
inc edx
mov si, dx
mov word [0x49c25e], si
movsx edx, cx
imul edx, edx, 0x15d7f617
add edx, 0x26b6707
cmp eax, edx
jne 0x40dc23
mov eax, dword [0x498254]
add eax, 0x658bc490
mov dword [0x498254], eax
jmp 0x40dc28
mov eax, dword [0x494e20]
or eax, 0x1727c1b9
cmp eax, 0x66e81911
jl 0x40dc55
mov ax, word [0x49d058]
mov cx, ax
add ecx, 0x7a85c9b8
mov ax, cx
mov word [0x49d058], ax
mov eax, esp
lea ecx, [esp + 0x12b]
mov dword [eax], ecx
mov dword [esp + 0xc0], ecx
call fcn.004361a0
mov dword [esp + 0x124], eax
mov eax, dword [0x498810]
and eax, 0x2c9d6859
mov dword [0x498810], eax
mov eax, dword [0x493c68]
mov ecx, esp
mov edx, dword [esp + 0xc0]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x49516c]
or ecx, 0x8b682a7b
mov dword [0x49516c], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2613
mov dword [esp + 0xbc], eax
call fcn.004179d0
mov dword [esp + 0x5c8], eax
mov si, word [0x49ca50]
mov ax, si
add eax, 0x8aae917f
mov si, ax
mov word [0x49ca50], si
mov eax, dword [esp + 0x5c8]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [ecx], eax
call fcn.00455c70
mov ecx, dword [0x496b08]
imul ecx, ecx, 0xe18efc5f
and ecx, 0xc66b8c41
cmp ecx, 0x677b6377
mov dword [esp + 0xb8], eax
jg 0x40dd39
mov eax, dword [0x49a2a0]
add eax, 0xf0ef052f
mov dword [0x49a2a0], eax
lea eax, [esp + 0x594]
lea ecx, [esp + 0x12b]
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x3304
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], ecx
call fcn.004179d0
mov dword [esp + 0x5c4], eax
mov eax, dword [0x495838]
add eax, 0x143419
mov dword [0x495838], eax
mov eax, dword [esp + 0x5c8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004412d0
mov eax, dword [0x49831c]
and eax, 0xabfae720
mov ecx, dword [0x4944d4]
sub ecx, eax
mov dword [0x4944d4], ecx
mov eax, dword [esp + 0x5c4]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x594]
call fcn.0042ecd0
sub esp, 4
mov ecx, dword [0x4942b4]
mov edx, ecx
dec edx
mov dword [0x4942b4], edx
add ecx, 0x9b47866a
and ecx, 0xd5867056
mov edx, dword [0x49accc]
or edx, ecx
mov dword [0x49accc], edx
mov ecx, dword [esp + 0x5c4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xac], eax
call fcn.004412d0
mov si, word [0x49b234]
mov ax, si
or eax, 0xfee6
mov si, ax
mov word [0x49b234], si
mov eax, dword [esp + 0xb4]
mov ecx, eax
call fcn.00445e50
lea ecx, [esp + 0x594]
mov dword [esp + 0xa8], eax
call fcn.0040b530
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xa4], ecx
call fcn.00439780
cmp eax, 0
jne 0x40eb66
mov eax, dword [0x49a884]
dec eax
mov dword [0x49a884], eax
xor eax, 0x604e2105
mov ecx, dword [0x496f20]
sub ecx, eax
mov dword [0x496f20], ecx
cmp dword [0x49eb20], 6
jb 0x40dff9
mov ax, word [0x49c234]
movsx ecx, ax
xor ecx, 0x10e72db1
mov edx, dword [0x499c60]
and edx, ecx
mov dword [0x499c60], edx
mov ecx, esp
mov dword [ecx + 4], 0x12
mov dword [ecx], 0x409
call fcn.004179d0
mov dword [esp + 0x5c0], eax
mov eax, dword [0x497814]
add eax, 0xb8da437d
mov si, word [0x49bda0]
mov cx, si
dec ecx
mov di, cx
mov word [0x49bda0], di
movsx ecx, si
or ecx, 0xc1a35a80
cmp eax, ecx
jl 0x40df3f
mov ax, word [0x49d6ac]
mov cx, ax
add ecx, 0x1f9fd29b
mov ax, word [0x49df42]
mov dx, ax
or edx, ecx
mov ax, dx
mov word [0x49df42], ax
jmp 0x40df90
mov eax, 0x1df6a31f
mov cx, word [0x49d200]
mov dx, cx
inc edx
mov si, dx
mov word [0x49d200], si
movsx edx, cx
and edx, 0xc1282108
cmp eax, edx
jg 0x40df8b
mov eax, 0xba2ac392
mov cx, word [0x49e186]
movsx edx, cx
cmp eax, edx
jg 0x40df86
jmp 0x40df86
jmp 0x40df8b
jmp 0x40df90
mov eax, dword [esp + 0x5c0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
mov dword [ecx + 8], 0x49ebb0
call fcn.00455fff
mov ecx, dword [0x4970b8]
sar ecx, 8
and ecx, 0xdab56243
mov dword [0x499a4c], ecx
mov ecx, dword [esp + 0x5c0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x12
mov dword [esp + 0xa0], eax
call fcn.004412d0
mov eax, dword [0x4992fc]
imul eax, eax, 0x280edc88
mov dword [0x4992fc], eax
jmp 0x40e0b9
mov eax, dword [0x4977c0]
shl eax, 3
or eax, 0xae49
mov cx, word [0x49ceb8]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49ceb8], cx
mov eax, esp
mov dword [eax + 4], 0x24
mov dword [eax], 0x1a74
call fcn.004179d0
mov dword [esp + 0x5bc], eax
mov cx, word [0x49d068]
mov ax, cx
or eax, 0x38
mov cx, ax
mov word [0x49d068], cx
mov eax, dword [esp + 0x5bc]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x12b]
mov dword [edx], eax
mov dword [edx + 8], 0x49ebb0
call fcn.00455fff
mov edx, dword [0x498108]
add edx, 0xfc474c1
mov dword [0x498108], edx
mov edx, dword [esp + 0x5bc]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x24
mov dword [esp + 0x9c], eax
call fcn.004412d0
mov cx, word [0x49b41a]
mov ax, cx
imul eax, eax, 0xbea17296
mov cx, ax
mov word [0x49b41a], cx
mov eax, 0x440c0289
mov ecx, dword [0x494ffc]
or ecx, 0xd6f771d7
mov dword [0x494ffc], ecx
mov byte [esp + 0x593], 0
mov ecx, dword [0x494164]
mov edx, dword [0x494e24]
xor edx, 0xffffffff
xor ecx, edx
cmp eax, ecx
jl 0x40e110
mov eax, dword [0x493ed8]
imul eax, eax, 0x3101b032
and eax, 0x4412c90e
mov ecx, dword [0x499034]
imul ecx, eax
mov dword [0x499034], ecx
mov eax, 0x323c838b
mov ecx, dword [0x49f510]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x12b]
mov dword [edx], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ecx
call fcn.00455c70
mov ecx, dword [0x4999bc]
mov edx, ecx
inc edx
mov dword [0x4999bc], edx
mov edx, dword [0x4998b8]
lea ecx, [edx + ecx + 1]
mov dword [0x4998b8], ecx
mov ecx, dword [0x493c68]
mov edx, esp
mov esi, dword [esp + 0x94]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x90], eax
call ecx
sub esp, 8
mov ecx, dword [0x494bf0]
xor ecx, 0xbe68be68
mov edx, dword [esp + 0x98]
cmp edx, ecx
mov dword [esp + 0x8c], eax
jge 0x40e1b0
mov eax, dword [0x49a6a8]
add eax, 0x1e342df
mov dword [0x49a6a8], eax
mov eax, esp
lea ecx, [esp + 0x12b]
mov dword [eax + 4], ecx
mov dword [eax], 0x49ed40
call fcn.00455c60
mov ecx, dword [0x496d0c]
dec ecx
mov dword [0x496d0c], ecx
xor ecx, 0xe73154a3
mov dx, word [0x49e63e]
movsx esi, dx
xor esi, 0xffffffff
and esi, 0x1069db4f
cmp ecx, esi
mov dword [esp + 0x88], eax
jl 0x40e21c
mov eax, dword [0x495224]
xor eax, 0xb479
mov cx, word [0x49c57e]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x49c57e], cx
mov eax, 0x11f44498
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [esp + 0x84], eax
call fcn.004361a0
mov dword [esp + 0x124], eax
mov eax, dword [0x49a39c]
mov si, word [0x49c936]
movsx ecx, si
shl ecx, 5
mov edx, dword [esp + 0x84]
sub edx, ecx
cmp eax, edx
jge 0x40e27f
mov ax, word [0x49d644]
mov cx, ax
add ecx, 0x28440018
mov ax, cx
mov word [0x49d644], ax
jmp 0x40e28e
mov eax, dword [0x498e08]
xor eax, 0x7dd5cb0d
mov dword [0x498e08], eax
mov eax, 0x99bbc791
mov ecx, dword [0x493c68]
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x80], eax
call ecx
sub esp, 8
mov ecx, dword [0x495654]
add ecx, 0x87241b73
mov dword [0x495654], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2613
mov dword [esp + 0x7c], eax
call fcn.004179d0
mov dword [esp + 0x5b8], eax
mov eax, dword [0x495930]
sar eax, 7
sub eax, 0x40f3d3e9
mov ecx, dword [esp + 0x80]
cmp ecx, eax
jge 0x40e313
mov eax, dword [0x494948]
add eax, 0x6cbd68fc
mov dword [0x494948], eax
mov eax, dword [esp + 0x5b8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
call fcn.00455c70
mov dx, word [0x49ddd4]
mov cx, dx
inc ecx
mov si, cx
mov word [0x49ddd4], si
movsx ecx, dx
add ecx, 0x17afff1b
or ecx, 0xb0e21b07
cmp ecx, 0xd0fb17e0
mov dword [esp + 0x78], eax
jge 0x40e3bb
mov eax, 0xf814c754
mov cx, word [0x49d4d6]
movsx edx, cx
cmp eax, edx
jl 0x40e3b6
mov eax, 0x255576b6
mov cx, word [0x49cdfe]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49cdfe], cx
movsx edx, cx
imul edx, edx, 0x814d7190
mov esi, dword [0x496598]
imul edx, esi
cmp eax, edx
jle 0x40e3b1
jmp 0x40e3b1
jmp 0x40e3b6
jmp 0x40e3bb
lea eax, [esp + 0x594]
lea ecx, [esp + 0x12b]
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x3304
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ecx
call fcn.004179d0
mov dword [esp + 0x5b4], eax
mov si, word [0x49c94a]
mov ax, si
dec eax
mov si, ax
mov word [0x49c94a], si
movsx eax, si
mov ecx, dword [0x4985ac]
add ecx, eax
mov dword [0x4985ac], ecx
mov eax, dword [esp + 0x5b8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004412d0
mov eax, dword [0x496724]
not eax
add eax, 0x35d4f2bc
mov si, word [0x49c116]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x49c116], si
mov eax, dword [esp + 0x5b4]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x594]
call fcn.0042ecd0
sub esp, 4
mov ecx, dword [0x497de0]
mov edx, dword [0x4960ac]
or edx, ecx
mov dword [0x4960ac], edx
mov ecx, dword [esp + 0x5b4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x6c], eax
call fcn.004412d0
mov eax, dword [0x495ca4]
add eax, 0x97d64772
mov dword [0x495ca4], eax
mov eax, dword [esp + 0x74]
mov ecx, eax
call fcn.00445e50
lea ecx, [esp + 0x594]
mov dword [esp + 0x68], eax
call fcn.0040b530
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x64], ecx
call fcn.00439780
cmp eax, 0
jne 0x40eb55
mov eax, dword [0x496ac0]
or eax, 0x1da345b1
mov dword [0x496ac0], eax
mov eax, dword [0x493c10]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
call eax
sub esp, 8
mov ecx, dword [0x496c30]
mov edx, ecx
dec edx
mov dword [0x496c30], edx
imul ecx, ecx, 0xd317d5da
mov si, word [0x49e2e2]
mov dx, si
inc edx
mov di, dx
mov word [0x49e2e2], di
movsx edx, si
add ecx, edx
cmp ecx, 0xfc37dd74
mov dword [esp + 0x60], eax
je 0x40e57c
mov ax, word [0x49c40a]
movsx ecx, ax
mov edx, dword [0x49623c]
or ecx, edx
or ecx, 0xb9e56fee
mov dword [0x49623c], ecx
jmp 0x40e59a
mov ax, word [0x49b340]
movsx ecx, ax
and ecx, 0x591a7817
mov edx, dword [0x4974b8]
imul edx, ecx
mov dword [0x4974b8], edx
mov eax, esp
lea ecx, [esp + 0x12b]
mov dword [eax], ecx
call fcn.00452ba0
mov dword [esp + 0x124], eax
mov dword [0x493d54], 0xfebdf1ef
mov eax, dword [esp + 0x124]
add eax, 0xfffffffe
mov dword [esp + 0x124], eax
mov eax, dword [0x498fd4]
dec eax
mov dword [0x498fd4], eax
or eax, 0x27dc0b3
mov ecx, dword [0x497f44]
xor ecx, 0xffffffff
xor ecx, 0x282c8073
cmp eax, ecx
jl 0x40e602
mov eax, dword [0x497ea8]
add eax, 0x462f96a4
mov dword [0x497ea8], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x120], eax
cmp dword [esp + 0x120], 0
jle 0x40e733
mov eax, dword [0x49ad30]
or eax, 0xec88020c
mov dword [0x49ad30], eax
mov eax, dword [esp + 0x120]
movsx eax, byte [esp + eax + 0x12b]
cmp eax, 0x5c
jne 0x40e70e
mov eax, 0xce2809d4
mov ecx, dword [0x494b20]
imul ecx, ecx, 0x911c0c5a
neg ecx
mov edx, dword [0x493e54]
lea ecx, [edx + ecx + 0x468d393b]
mov dword [0x493e54], ecx
mov ecx, dword [esp + 0x120]
inc ecx
mov dword [esp + 0x120], ecx
mov si, word [0x49c3ae]
mov cx, si
inc ecx
mov si, cx
mov word [0x49c3ae], si
movsx ecx, si
cmp eax, ecx
jne 0x40e6a9
mov eax, dword [0x493e60]
or eax, 0x8287049a
mov dword [0x49a288], eax
mov eax, 0x3de64843
mov ecx, dword [esp + 0x120]
mov byte [esp + ecx + 0x12b], 0
mov ecx, dword [0x4954b4]
xor ecx, 0xffffffff
and ecx, 0xbf181cec
cmp eax, ecx
jg 0x40e6ec
mov ax, word [0x49e81c]
mov cx, ax
xor ecx, 0x110a
mov ax, cx
mov word [0x49e81c], ax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x124], eax
mov eax, dword [0x4981a4]
xor eax, 0x10092690
mov dword [0x4981a4], eax
jmp 0x40e733
mov eax, dword [0x499454]
and eax, 0x93681312
mov dword [0x499454], eax
mov eax, dword [esp + 0x120]
add eax, 0xffffffff
mov dword [esp + 0x120], eax
jmp 0x40e610
mov eax, 0x7d5ffad6
mov cx, word [0x49ead4]
mov dx, cx
imul edx, edx, 0x10feed6a
mov cx, dx
mov word [0x49ead4], cx
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx + 4], esi
mov dword [edx], 0x49ed40
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], esi
call fcn.00455c60
mov edx, dword [0x49ac98]
sar edx, 9
mov esi, 0xb2ffdede
sub esi, edx
mov edx, dword [0x4971c4]
xor edx, esi
mov dword [0x4971c4], edx
mov edx, esp
mov esi, dword [esp + 0x58]
mov dword [edx], esi
mov dword [esp + 0x54], eax
call fcn.004361a0
mov dword [esp + 0x124], eax
mov cx, word [0x49dc36]
movsx eax, cx
sub eax, 0xf9b3224
xor eax, 0xf36e0cd3
mov edx, dword [esp + 0x5c]
cmp edx, eax
jge 0x40e7ec
mov eax, dword [0x49538c]
or eax, 0xb174
mov cx, word [0x49d23c]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49d23c], cx
jmp 0x40e7fb
mov eax, dword [0x494ca8]
add eax, 0x47220141
mov dword [0x494ca8], eax
mov eax, 0x23d23d63
mov ecx, dword [0x493c68]
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], esi
call ecx
sub esp, 8
mov ecx, dword [0x49abdc]
mov edx, ecx
inc edx
mov dword [0x49abdc], edx
add ecx, 0x8209b775
mov di, word [0x49ea7e]
mov dx, di
and edx, ecx
mov di, dx
mov word [0x49ea7e], di
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2613
mov dword [esp + 0x48], eax
call fcn.004179d0
mov dword [esp + 0x5b0], eax
mov di, word [0x49c826]
mov ax, di
add eax, 0xc537eca7
mov di, ax
mov word [0x49c826], di
mov eax, dword [esp + 0x5b0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx], eax
call fcn.00455c70
mov ecx, dword [0x499638]
add ecx, 0xa8a3d99b
mov edx, dword [0x494068]
and edx, ecx
mov dword [0x494068], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3304
mov dword [esp + 0x44], eax
call fcn.004179d0
mov dword [esp + 0x5ac], eax
mov di, word [0x49b9e6]
mov ax, di
inc eax
mov di, ax
mov word [0x49b9e6], di
movsx eax, di
mov di, word [0x49c102]
mov cx, di
inc ecx
mov bx, cx
mov word [0x49c102], bx
movsx ecx, di
xor eax, ecx
or eax, 0x7d21573f
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jl 0x40e92a
mov dword [0x497e58], 0x457c6fd1
jmp 0x40e942
mov ax, word [0x49dd54]
mov cx, ax
and ecx, 0xff53
mov ax, cx
mov word [0x49dd54], ax
lea eax, [esp + 0x594]
lea ecx, [esp + 0x12b]
mov edx, dword [esp + 0x5b0]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
call fcn.004412d0
mov eax, dword [0x499fb0]
shl eax, 6
mov ecx, dword [0x4983a0]
not ecx
sub eax, ecx
xor eax, 0x92d92447
mov ecx, dword [0x495240]
and ecx, eax
mov dword [0x495240], ecx
mov eax, dword [esp + 0x5ac]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x594]
call fcn.0042ecd0
sub esp, 4
mov ecx, dword [0x4952dc]
imul ecx, ecx, 0xb92cc480
mov edx, dword [0x4969ac]
and edx, ecx
mov dword [0x4969ac], edx
mov ecx, dword [esp + 0x5ac]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x38], eax
call fcn.004412d0
mov eax, dword [0x4961ac]
imul eax, eax, 0xb2e893f4
mov dword [0x4961ac], eax
mov eax, dword [esp + 0x40]
mov ecx, eax
call fcn.00445e50
lea ecx, [esp + 0x594]
mov dword [esp + 0x34], eax
call fcn.0040b530
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x30], ecx
call fcn.00439780
cmp eax, 0
jne 0x40eb46
mov eax, dword [0x498620]
xor eax, 0xc52c4588
mov dword [0x498620], eax
mov eax, dword [0x493c10]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
mov dword [esp + 0x2c], edx
call eax
sub esp, 8
mov ecx, dword [0x499748]
and ecx, 0xa0b2d2a6
mov dword [0x499748], ecx
mov ecx, esp
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
mov dword [ecx], 0x49ed40
mov dword [esp + 0x28], eax
call fcn.00455c60
mov ecx, dword [0x49a0bc]
add ecx, 0x7001098
mov dword [0x49a0bc], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2613
mov dword [esp + 0x24], eax
call fcn.004179d0
mov dword [esp + 0x5a8], eax
mov eax, dword [0x495bc0]
imul eax, eax, 0xbe309250
mov dword [0x495bc0], eax
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
call fcn.00455c70
mov ecx, dword [0x496f34]
inc ecx
mov dword [0x496f34], ecx
mov si, word [0x49b84c]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x49b84c], si
mov ecx, dword [esp + 0x5a8]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x20], eax
call fcn.004412d0
mov eax, dword [0x4953dc]
shl eax, 5
mov ecx, dword [0x495a68]
add ecx, eax
mov dword [0x495a68], ecx
mov eax, dword [0x4969d0]
or eax, 0xf255961f
mov dword [0x4969d0], eax
mov eax, dword [0x4973f4]
not eax
add eax, 0x66c44b14
mov dword [0x496d90], eax
mov eax, 0x37db42ff
mov ecx, dword [0x4948ec]
and ecx, 0x5bb0eee8
mov edx, dword [0x496904]
add edx, ecx
mov dword [0x496904], edx
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [esp + 0x1c], eax
call fcn.004361a0
mov ecx, dword [0x498f90]
mov edx, dword [0x49a688]
mov esi, edx
inc esi
mov dword [0x49a688], esi
and ecx, edx
mov edx, dword [esp + 0x1c]
cmp edx, ecx
mov dword [esp + 0x18], eax
jl 0x40ebd4
mov eax, dword [0x49a944]
xor eax, 0x94580041
mov dword [0x49a944], eax
jmp 0x40ebf0
mov eax, dword [0x4985d4]
xor eax, 0x11000120
mov ecx, dword [0x499438]
or eax, ecx
or eax, 0x4e2ff6cd
mov dword [0x499438], eax
mov eax, dword [0x493c1c]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [ecx + 4], 2
mov dword [esp + 0x14], edx
call eax
sub esp, 8
mov ecx, dword [0x498ebc]
and ecx, 0x86aa61db
mov dword [0x498ebc], ecx
mov ecx, esp
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], 0x469
mov dword [esp + 0x10], eax
call fcn.00445af0
mov eax, dword [0x494370]
add eax, 0xff7ff367
mov dword [0x494370], eax
lea ecx, [esp + 0x594]
call fcn.004385e0
add esp, 0x5d4
pop esi
pop edi
pop ebx
ret