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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x56c
mov eax, 0xbb482de4
mov ecx, dword [0x496420]
imul ecx, ecx, 0xb9828836
and ecx, 0xd4b6
mov dx, word [0x4845b2]
mov si, dx
xor esi, ecx
mov dx, si
mov word [0x4845b2], dx
lea ecx, [esp + 0x52c]
mov dword [esp + 0x114], eax
call fcn.00418d90
mov ecx, dword [0x496d04]
xor ecx, 0xffffffff
xor ecx, 0xafb9cbd4
mov esi, dword [esp + 0x114]
cmp esi, ecx
mov dword [esp + 0x110], eax
jge 0x4481db
mov eax, 0xaff81633
mov ecx, dword [0x496d6c]
add ecx, 0x2d6cbf7b
cmp eax, ecx
jl 0x4481d6
mov eax, dword [0x49d88c]
and eax, 0x6ff6dac5
mov dword [0x49d88c], eax
jmp 0x4481db
mov eax, dword [0x492418]
mov ecx, dword [0x493670]
or ecx, 0xa9b68641
cmp eax, ecx
je 0x448204
mov eax, dword [0x49ad6c]
imul eax, eax, 0xed65aae8
mov dword [0x49ad6c], eax
mov eax, 0xb0a4040
mov cx, word [0x4886f8]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4886f8], cx
movsx edx, cx
add edx, 0x39b40833
mov cx, word [0x4887a8]
mov si, cx
inc esi
mov di, si
mov word [0x4887a8], di
movsx esi, cx
xor edx, esi
cmp eax, edx
jle 0x448258
mov eax, dword [0x4945e8]
or eax, 0x8fb12eb5
mov dword [0x4945e8], eax
mov eax, 0xa5982fac
mov ecx, dword [0x48d57c]
mov edx, dword [0x48d428]
inc edx
mov dword [0x48d428], edx
sub ecx, edx
mov edx, dword [0x48b69c]
xor edx, ecx
mov dword [0x48b69c], edx
mov dword [esp + 0x118], 0
mov ecx, dword [0x49545c]
add ecx, 0xa46616e0
cmp eax, ecx
je 0x4482dc
mov eax, dword [0x49981c]
mov ecx, dword [0x49d26c]
imul eax, ecx
or eax, 0x36a3a44e
cmp eax, 0xa26d5857
je 0x4482d7
mov eax, dword [0x4961ec]
dec eax
mov dword [0x4961ec], eax
mov ecx, dword [0x490990]
imul ecx, eax
mov dword [0x490990], ecx
jmp 0x4482dc
mov dword [0x49d8bc], 0x94
mov eax, dword [0x489dd8]
sar eax, 3
mov ecx, dword [0x48aa8c]
mov edx, ecx
inc edx
mov dword [0x48aa8c], edx
sub ecx, 0x36d2a126
cmp eax, ecx
jle 0x448323
mov ax, word [0x488e30]
mov cx, ax
xor ecx, 0x2b84
mov ax, cx
mov word [0x488e30], ax
mov eax, dword [0x47fba0]
mov ecx, esp
mov dword [ecx], 0x49d8bc
call eax
sub esp, 4
mov dx, word [0x4855bc]
mov cx, dx
or ecx, 0x1824
mov dx, cx
mov word [0x4855bc], dx
mov dword [esp + 0x10c], eax
call fcn.00402620
mov dword [0x49e0d0], eax
mov dx, word [0x483744]
mov ax, dx
add eax, 0xfd38da00
mov dx, ax
mov word [0x483744], dx
call fcn.0044f460
mov dword [0x49e0d4], eax
mov eax, dword [0x499b60]
imul eax, eax, 0xed11dbd0
mov dword [0x499b60], eax
mov eax, dword [0x49e0d0]
cmp eax, 0
je 0x448655
mov eax, 0x1f347370
mov ecx, dword [0x49a3fc]
imul ecx, ecx, 0xeddb7ea9
mov edx, dword [0x497080]
or ecx, edx
or ecx, 0x752ebade
mov dword [0x497080], ecx
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [esp + 0x108], eax
call fcn.00405df0
mov dword [esp + 0x124], eax
mov eax, dword [0x48cd10]
mov ecx, dword [esp + 0x108]
cmp ecx, eax
jge 0x448402
mov dword [0x48ec94], 0xf56b4327
mov eax, 0x5f2fffce
mov ecx, dword [esp + 0x124]
mov byte [esp + ecx + 0x12b], 0x5c
mov ecx, dword [0x49ba90]
shl ecx, 0xa
imul ecx, ecx, 0x4e436fbe
cmp eax, ecx
jg 0x44844a
mov eax, dword [0x496c74]
or eax, 0xdf8dccf7
mov ecx, dword [0x48e74c]
xor ecx, eax
mov dword [0x48e74c], ecx
jmp 0x4484b6
mov eax, dword [0x48d9b8]
mov ecx, eax
dec ecx
mov dword [0x48d9b8], ecx
add eax, 0x36426433
and eax, 0xf3940302
mov dx, word [0x48261e]
mov cx, dx
dec ecx
mov si, cx
mov word [0x48261e], si
movsx ecx, dx
add ecx, 0x7ca4d100
cmp eax, ecx
je 0x4484b1
mov eax, 0x59fff9d8
mov ecx, dword [0x48e37c]
imul ecx, ecx, 0x2d65f64f
imul ecx, ecx, 0x44329a08
cmp eax, ecx
jge 0x4484ac
jmp 0x4484ac
jmp 0x4484b1
jmp 0x4484b6
mov eax, 0xceffbf77
mov ecx, dword [esp + 0x124]
inc ecx
mov dword [esp + 0x124], ecx
mov dx, word [0x4815e6]
movsx ecx, dx
imul ecx, ecx, 0x56cc1c23
cmp eax, ecx
jg 0x4484f1
mov eax, dword [0x490918]
add eax, 0xa254f041
mov dword [0x490918], eax
mov eax, 0xabb49994
mov ecx, dword [esp + 0x124]
mov byte [esp + ecx + 0x12b], 0
mov ecx, dword [0x49aca0]
dec ecx
mov dword [0x49aca0], ecx
imul ecx, ecx, 0xbb05738a
mov edx, dword [0x494c60]
xor ecx, edx
xor ecx, 0xa75b4323
mov dword [0x494c60], ecx
mov ecx, dword [0x49e110]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x12b]
mov dword [edx], ecx
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], ecx
call fcn.00455490
mov ecx, dword [0x49d184]
or ecx, 0xe2538850
mov dword [0x49d184], ecx
mov ecx, dword [0x47fbe8]
mov edx, esp
mov esi, dword [esp + 0x100]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0xfc], eax
call ecx
sub esp, 8
mov ecx, dword [0x495668]
add ecx, 0x3ef6903c
mov edx, dword [0x490a74]
imul edx, ecx
mov dword [0x490a74], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3d6
mov dword [esp + 0xf8], eax
call fcn.00445b40
mov dword [esp + 0x568], eax
mov word [0x488b9a], 0x3816
mov eax, dword [esp + 0x568]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x100]
mov dword [ecx], eax
call fcn.00455490
mov ecx, dword [0x48c074]
add ecx, 0xbb714565
mov dword [0x48c074], ecx
mov ecx, dword [esp + 0x568]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xf4], eax
call fcn.004235c0
mov eax, dword [0x49320c]
mov ecx, dword [esp + 0x104]
cmp ecx, eax
jl 0x448641
mov eax, dword [0x491614]
and eax, 0x542c9bd
mov dword [0x491614], eax
jmp 0x448650
mov eax, dword [0x494298]
add eax, 0x561b95a
mov dword [0x494298], eax
jmp 0x448685
mov eax, dword [0x493f7c]
imul eax, eax, 0xa1308bf0
mov dword [0x493f7c], eax
mov byte [esp + 0x12b], 0
mov eax, dword [0x494920]
or eax, 0xc980c336
mov ecx, dword [0x49d658]
add ecx, eax
mov dword [0x49d658], ecx
mov eax, dword [0x4923a4]
xor eax, 0x4e46d0e3
mov dword [0x4923a4], eax
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x3c59
call fcn.00445b40
mov dword [esp + 0x564], eax
mov cx, word [0x480a98]
movsx eax, cx
xor eax, 0xffffffff
xor eax, 0xfb47d389
cmp eax, 0x6ef2fb8
jg 0x4486fc
mov eax, dword [0x48d9b0]
dec eax
mov dword [0x48d9b0], eax
and eax, 0xb384
mov cx, word [0x483720]
mov dx, cx
xor eax, edx
xor eax, 0xebb2
mov cx, ax
mov word [0x483720], cx
jmp 0x44870b
mov eax, dword [0x49a4ec]
and eax, 0xeb0c90e4
mov dword [0x49a4ec], eax
mov eax, dword [esp + 0x564]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x52c]
call fcn.0041e970
sub esp, 4
mov ecx, dword [0x49658c]
dec ecx
mov dword [0x49658c], ecx
xor ecx, 0xbb666fb0
mov dx, word [0x48748e]
mov si, dx
dec esi
mov di, si
mov word [0x48748e], di
movsx esi, dx
mov dx, word [0x4807d4]
movsx ebx, dx
imul ebx, ebx, 0x35ac1b98
xor esi, ebx
cmp ecx, esi
mov dword [esp + 0xf0], eax
jl 0x4487b8
mov eax, 0x43a93dbf
mov ecx, dword [0x49b348]
cmp eax, ecx
jne 0x4487b3
mov eax, dword [0x48c598]
mov ecx, eax
dec ecx
mov dword [0x48c598], ecx
or eax, 0x5a821a3b
mov dx, word [0x482a2c]
movsx ecx, dx
cmp eax, ecx
jg 0x4487ae
jmp 0x4487ae
jmp 0x4487b3
jmp 0x4487b8
lea eax, [esp + 0x52c]
lea ecx, [esp + 0x12b]
mov edx, dword [esp + 0x564]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], ecx
call fcn.004235c0
mov eax, dword [0x48ff40]
mov ecx, eax
inc ecx
mov dword [0x48ff40], ecx
or eax, 0x2efdd753
mov ecx, dword [0x48f734]
sub ecx, eax
mov dword [0x48f734], ecx
mov eax, dword [esp + 0xec]
mov ecx, eax
call fcn.004270e0
lea ecx, [esp + 0x52c]
mov dword [esp + 0xe4], eax
call fcn.0044fac0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0xe0], ecx
call fcn.00414410
cmp eax, 0
je 0x4489b1
mov eax, 0x5fcc01d6
mov ecx, dword [0x4934cc]
and ecx, 0x17cb5f96
mov dword [0x4934cc], ecx
mov dword [esp + 0x118], 1
mov ecx, dword [0x495ac4]
shl ecx, 3
xor ecx, 0x24c500e5
cmp eax, ecx
jne 0x4488d3
mov ax, word [0x488104]
movsx ecx, ax
sar ecx, 8
mov edx, dword [0x49503c]
mov esi, edx
dec esi
mov dword [0x49503c], esi
add edx, 0xf614a75d
xor ecx, edx
mov edx, dword [0x489c6c]
imul edx, ecx
mov dword [0x489c6c], edx
mov eax, dword [0x47fb74]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
call eax
sub esp, 4
mov si, word [0x48622c]
mov cx, si
imul ecx, ecx, 0xf509b05
mov si, cx
mov word [0x48622c], si
mov ecx, dword [esp + 0x124]
mov byte [esp + ecx + 0x12b], 0
mov si, word [0x480840]
movsx ecx, si
xor ecx, 0xffffffff
and ecx, 0x82820880
cmp ecx, 0x5f973f6f
mov dword [esp + 0xdc], eax
jge 0x44894b
mov eax, dword [0x48afb8]
xor eax, 0x916a7e43
mov dword [0x48afb8], eax
jmp 0x44896e
mov eax, dword [0x493dd0]
shl eax, 3
mov cx, word [0x485138]
mov dx, cx
and eax, edx
and eax, 0x4060
mov cx, ax
mov word [0x485138], cx
mov eax, dword [0x47fbec]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x4952c0]
dec ecx
mov dword [0x4952c0], ecx
imul ecx, ecx, 0x690209dc
add ecx, 0xa0419e67
mov edx, dword [0x48a100]
xor edx, ecx
mov dword [0x48a100], edx
mov dword [esp + 0xd8], eax
mov eax, 0xdc958a4e
mov ecx, dword [0x48c9ec]
or ecx, 0xf23dffdf
mov dword [0x48c9ec], ecx
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], edx
call fcn.00405df0
mov ecx, dword [0x48cb5c]
xor ecx, 0x84b0061
mov dword [0x48cb5c], ecx
mov byte [esp + 0x12e], 0
mov ecx, dword [0x495d6c]
and ecx, 0x143dff55
xor ecx, 0x3b37bb42
mov edx, dword [0x489d00]
or edx, ecx
mov dword [0x489d00], edx
mov ecx, dword [0x49e110]
mov edx, esp
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xd0]
mov dword [edx], ecx
mov dword [esp + 0xcc], eax
call fcn.00455490
mov ecx, dword [0x48bebc]
and ecx, 0x6878778
mov dword [0x48bebc], ecx
mov ecx, dword [0x47fbe8]
mov edx, esp
mov esi, dword [esp + 0xd0]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0xc8], eax
call ecx
sub esp, 8
mov ecx, dword [0x49af50]
add ecx, 0xc1c6fc9
mov edx, dword [esp + 0xd4]
cmp edx, ecx
mov dword [esp + 0xc4], eax
je 0x448aee
mov ax, word [0x48449e]
movsx ecx, ax
add ecx, 0x52433714
mov edx, dword [0x495a28]
mov esi, edx
dec esi
mov dword [0x495a28], esi
cmp ecx, edx
jne 0x448ae9
mov ax, word [0x48696c]
movsx ecx, ax
sar ecx, 3
imul ecx, ecx, 0x2ab312b3
mov edx, dword [0x48cdf0]
not edx
or ecx, edx
mov edx, dword [0x492c20]
imul edx, ecx
mov dword [0x492c20], edx
jmp 0x448aee
mov eax, esp
lea ecx, [esp + 0x12b]
mov dword [eax + 4], ecx
mov dword [eax], 0x49da78
call fcn.00455480
mov dx, word [0x483ede]
mov cx, dx
add ecx, 0x6a7c4956
mov dx, cx
mov word [0x483ede], dx
cmp dword [esp + 0x118], 0
mov dword [esp + 0xc0], eax
jne 0x448b75
mov eax, 0xd2adffff
mov word [0x486e44], 0x90f4
mov dword [0x49e0cc], 0
mov ecx, dword [0x495f74]
cmp eax, ecx
jne 0x448b70
mov eax, dword [0x489bc4]
sar eax, 3
mov ecx, dword [0x489cbc]
sub ecx, eax
mov dword [0x489cbc], ecx
jmp 0x448b75
mov eax, 0x71678b6f
mov ecx, dword [0x4917e0]
mov edx, ecx
dec edx
mov dword [0x4917e0], edx
sub eax, ecx
xor eax, 0xa1d8805c
cmp eax, 0x91f74474
jge 0x448baa
mov eax, dword [0x491440]
xor eax, 0x300553c1
mov dword [0x491440], eax
lea eax, [esp + 0x52c]
lea ecx, [esp + 0x12b]
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx], esi
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xb4], esi
call fcn.004222f0
mov dword [esp + 0x124], eax
mov eax, dword [0x49c9ac]
mov ecx, eax
dec ecx
mov dword [0x49c9ac], ecx
add eax, 0x3e121ddf
mov ecx, dword [0x493f90]
add ecx, ecx
xor eax, ecx
mov ecx, dword [0x490b7c]
sub ecx, eax
mov dword [0x490b7c], ecx
mov eax, dword [0x47fbe8]
mov ecx, esp
mov edx, dword [esp + 0xb4]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov dword [0x48b964], 0xe7f1bd36
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3d6
mov dword [esp + 0xb0], eax
call fcn.00445b40
mov dword [esp + 0x560], eax
mov eax, dword [0x490e0c]
mov ecx, eax
inc ecx
mov dword [0x490e0c], ecx
add eax, 0x7f9cc69a
mov ecx, dword [0x48fba0]
and ecx, eax
mov dword [0x48fba0], ecx
mov eax, dword [esp + 0x560]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [ecx], eax
call fcn.00455490
mov ecx, dword [0x49b238]
xor ecx, 0xcf34cfb5
mov dword [0x49b238], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3c59
mov dword [esp + 0xac], eax
call fcn.00445b40
mov dword [esp + 0x55c], eax
mov di, word [0x483f74]
movsx eax, di
and eax, 0xa5a02357
mov ecx, dword [0x48fd24]
or ecx, eax
mov dword [0x48fd24], ecx
mov eax, dword [esp + 0x560]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004235c0
mov eax, dword [0x49bec0]
lea eax, [eax*8 - 0x50d621af]
mov ecx, dword [0x493d78]
xor ecx, eax
mov dword [0x493d78], ecx
mov eax, dword [esp + 0x55c]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x52c]
call fcn.0041e970
sub esp, 4
mov ecx, dword [0x48e3d4]
imul ecx, ecx, 0x47fea863
mov dword [0x48e3d4], ecx
mov ecx, dword [esp + 0x55c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xa8], eax
call fcn.004235c0
mov eax, dword [0x493c60]
and eax, 0xc60d055
mov dword [0x493c60], eax
mov eax, dword [esp + 0xbc]
mov ecx, eax
call fcn.004270e0
lea ecx, [esp + 0x52c]
mov dword [esp + 0xa4], eax
call fcn.0044fac0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0xa0], ecx
call fcn.00414410
cmp eax, 0
jne 0x449b15
mov eax, dword [0x4932bc]
mov ecx, eax
inc ecx
mov dword [0x4932bc], ecx
add eax, 0x7954b3a5
cmp eax, 0x66534834
jg 0x448df6
mov eax, dword [0x48b434]
or eax, 0xc1c2e6fd
mov dword [0x48b434], eax
cmp dword [0x49d8c0], 6
jb 0x448ec9
mov ax, word [0x481460]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x481460], ax
movsx ecx, ax
or ecx, 0x8e7c018f
mov edx, dword [0x49d114]
xor edx, ecx
mov dword [0x49d114], edx
mov ecx, esp
mov dword [ecx + 4], 0x12
mov dword [ecx], 0x1cd
call fcn.00445b40
mov dword [esp + 0x558], eax
mov eax, dword [0x4912c0]
add eax, 0xf67bfbed
mov dword [0x4912c0], eax
mov eax, dword [esp + 0x558]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
mov dword [ecx + 8], 0x49d950
call fcn.00455a57
mov ecx, dword [0x48f830]
mov edx, ecx
dec edx
mov dword [0x48f830], edx
mov edx, 0xd9a7254e
sub edx, ecx
mov ecx, dword [0x48e850]
or ecx, edx
mov dword [0x48e850], ecx
mov ecx, dword [esp + 0x558]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x12
mov dword [esp + 0x9c], eax
call fcn.004235c0
mov dword [0x48d0fc], 0x856495ec
jmp 0x449026
mov eax, 0xd9c84aa4
mov cx, word [0x48868a]
mov dx, cx
inc edx
mov si, dx
mov word [0x48868a], si
movsx edx, cx
imul edx, edx, 0x73e7a3c9
mov edi, dword [0x48dc60]
xor edx, edi
mov edi, dword [0x491558]
add edi, edx
mov dword [0x491558], edi
mov edx, esp
mov dword [edx + 4], 0x24
mov dword [edx], 0x4134
mov dword [esp + 0x98], eax
call fcn.00445b40
mov dword [esp + 0x554], eax
mov eax, dword [0x4910dc]
or eax, 0xc06ca695
mov edx, dword [0x493bdc]
and edx, eax
mov dword [0x493bdc], edx
mov eax, dword [esp + 0x554]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x12b]
mov dword [edx], eax
mov dword [edx + 8], 0x49d950
call fcn.00455a57
mov edx, dword [0x4976a8]
mov edi, edx
dec edi
mov dword [0x4976a8], edi
add edx, 0x4f6e116a
mov edi, dword [0x490b44]
xor edi, edx
mov dword [0x490b44], edi
mov edx, dword [esp + 0x554]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], 0x24
mov dword [esp + 0x94], eax
call fcn.004235c0
mov cx, word [0x488c22]
movsx eax, cx
and eax, 0x403ca361
mov edx, dword [esp + 0x98]
cmp edx, eax
jg 0x448ff7
mov ax, word [0x48767a]
movsx ecx, ax
mov ax, word [0x480738]
mov dx, ax
inc edx
mov ax, dx
mov word [0x480738], ax
movsx edx, ax
add edx, 0xeeb03b96
or ecx, edx
mov edx, dword [0x490edc]
imul edx, ecx
mov dword [0x490edc], edx
jmp 0x449021
mov eax, dword [0x4950c4]
mov ecx, eax
dec ecx
mov dword [0x4950c4], ecx
mov ecx, dword [0x49c6f8]
not ecx
neg ecx
lea eax, [eax + ecx - 1]
mov ecx, dword [0x48d3dc]
add ecx, eax
mov dword [0x48d3dc], ecx
jmp 0x449026
mov eax, dword [0x48faf4]
dec eax
mov dword [0x48faf4], eax
imul eax, eax, 0x880940d7
mov ecx, 0xa58a8114
sub ecx, eax
mov dword [0x4917a4], ecx
mov byte [esp + 0x52b], 0
mov eax, dword [0x499ee4]
not eax
add eax, 0x5a7b0007
mov ecx, dword [0x48cf34]
imul ecx, eax
mov dword [0x48cf34], ecx
mov eax, dword [0x49e110]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
mov dword [esp + 0x90], eax
call fcn.00455490
mov ecx, dword [0x49c74c]
shl ecx, 0xa
mov dword [0x497eec], ecx
mov ecx, dword [0x47fbe8]
mov edx, esp
mov esi, dword [esp + 0x90]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x8c], eax
call ecx
sub esp, 8
mov dword [0x491844], 0x70b97534
mov ecx, esp
mov edx, dword [esp + 0x90]
mov dword [ecx + 4], edx
mov dword [ecx], 0x49da78
mov dword [esp + 0x88], eax
call fcn.00455480
mov ecx, dword [0x490fec]
dec ecx
mov dword [0x490fec], ecx
mov edx, dword [0x49823c]
sub edx, ecx
mov dword [0x49823c], edx
mov ecx, esp
mov edx, dword [esp + 0x90]
mov dword [ecx], edx
mov dword [esp + 0x84], eax
call fcn.004222f0
mov dword [esp + 0x124], eax
mov di, word [0x4892e4]
mov ax, di
inc eax
mov bx, ax
mov word [0x4892e4], bx
movsx eax, di
mov ecx, dword [0x4985f0]
and ecx, 0x9dbe2187
cmp eax, ecx
jg 0x44915a
mov eax, dword [0x4920e4]
add eax, 0xc46ca098
mov cx, ax
mov word [0x488846], cx
mov eax, dword [0x47fbe8]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x48c89c]
xor ecx, 0x288c2c
mov dword [0x48c89c], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3d6
mov dword [esp + 0x80], eax
call fcn.00445b40
mov dword [esp + 0x550], eax
mov eax, dword [0x49b4c0]
imul eax, eax, 0x715c22a2
sub eax, 0xf85691d7
cmp eax, 0x5fdf5e7e
jle 0x449214
mov ax, word [0x48556c]
movsx ecx, ax
not ecx
mov edx, dword [0x49770c]
inc edx
mov dword [0x49770c], edx
imul ecx, edx
xor ecx, 0xaa5dc67c
cmp ecx, 0xc8ce00d4
jg 0x44920f
mov ax, word [0x48278e]
movsx ecx, ax
or ecx, 0x5d24309a
mov edx, dword [0x49587c]
xor edx, ecx
mov dword [0x49587c], edx
jmp 0x449214
mov eax, 0xed721d68
mov ecx, dword [esp + 0x550]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x12b]
mov dword [edx], ecx
mov dword [esp + 0x7c], eax
call fcn.00455490
mov ecx, dword [0x48f758]
sar ecx, 8
mov edx, dword [esp + 0x7c]
cmp edx, ecx
mov dword [esp + 0x78], eax
jle 0x449265
mov eax, dword [0x49b748]
imul eax, eax, 0x180a109
mov dword [0x49b748], eax
jmp 0x449275
mov eax, dword [0x496dfc]
imul eax, eax, 0x5d27e94f
mov dword [0x496dfc], eax
mov eax, 0x5bc3eaba
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3c59
mov dword [esp + 0x74], eax
call fcn.00445b40
mov dword [esp + 0x54c], eax
mov dx, word [0x481bcc]
movsx eax, dx
mov ecx, dword [esp + 0x74]
cmp ecx, eax
jl 0x4492c3
mov eax, dword [0x49aa44]
and eax, 0xea83bb65
mov dword [0x49aa44], eax
jmp 0x4492d3
mov eax, dword [0x48b238]
imul eax, eax, 0xf6f2bd8b
mov dword [0x48b238], eax
lea eax, [esp + 0x52c]
lea ecx, [esp + 0x12b]
mov edx, dword [esp + 0x550]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ecx
call fcn.004235c0
mov eax, dword [0x491754]
add eax, 0xdf912891
mov dword [0x491754], eax
mov eax, dword [esp + 0x54c]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x52c]
call fcn.0041e970
sub esp, 4
mov dword [0x48d708], 0xf23f73fd
mov ecx, dword [esp + 0x54c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x68], eax
call fcn.004235c0
mov eax, dword [0x493364]
mov di, word [0x480072]
mov cx, di
dec ecx
xor eax, ecx
mov di, cx
mov word [0x480072], di
mov di, word [0x488320]
mov cx, di
xor eax, ecx
not eax
mov di, ax
mov word [0x488320], di
mov eax, dword [esp + 0x70]
mov ecx, eax
call fcn.004270e0
lea ecx, [esp + 0x52c]
mov dword [esp + 0x64], eax
call fcn.0044fac0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0x60], ecx
call fcn.00414410
cmp eax, 0
jne 0x449b0b
mov eax, 0x2cde5164
mov dword [0x4991ac], 0x420f41f1
mov ecx, dword [0x47fb90]
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], esi
call ecx
sub esp, 8
mov ecx, dword [0x4927dc]
sar ecx, 0xa
xor ecx, 0x42a7fd07
mov edx, dword [0x49c2ec]
and edx, ecx
mov dword [0x49c2ec], edx
mov ecx, esp
mov edx, dword [esp + 0x58]
mov dword [ecx], edx
mov dword [esp + 0x54], eax
call fcn.004523c0
mov dword [esp + 0x124], eax
mov eax, dword [0x48b5c4]
imul eax, eax, 0xe2f0b4fc
or eax, 0xacf3b316
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
je 0x4494aa
mov eax, 0x30ca8386
mov cx, word [0x485d5c]
movsx edx, cx
not edx
add edx, 0xf158b98
mov cx, word [0x481eb0]
mov si, cx
inc esi
mov di, si
mov word [0x481eb0], di
movsx esi, cx
sub edx, esi
cmp eax, edx
jne 0x4494a5
mov ax, word [0x4876fe]
mov cx, ax
and ecx, 0x81d2
mov ax, cx
mov word [0x4876fe], ax
jmp 0x4494aa
mov eax, dword [esp + 0x124]
add eax, 0xfffffffe
mov dword [esp + 0x124], eax
mov cx, word [0x480a6a]
mov ax, cx
or eax, 0x1fd3
mov cx, ax
mov word [0x480a6a], cx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x120], eax
cmp dword [esp + 0x120], 0
jle 0x449622
mov eax, dword [0x497440]
shr eax, 1
or eax, 0x2e38
mov cx, ax
mov word [0x483474], cx
mov eax, dword [esp + 0x120]
movsx eax, byte [esp + eax + 0x12b]
cmp eax, 0x5c
jne 0x4495e9
mov eax, 0x9c653b7b
mov ecx, dword [0x492708]
imul ecx, ecx, 0xfefdb977
mov dword [0x492708], ecx
mov ecx, dword [esp + 0x120]
inc ecx
mov dword [esp + 0x120], ecx
mov ecx, dword [0x49234c]
mov edx, ecx
inc edx
mov dword [0x49234c], edx
imul ecx, ecx, 0x84e231c
mov edx, dword [0x491bf0]
lea ecx, [ecx + edx - 0x555675aa]
mov dword [0x491bf0], ecx
mov ecx, dword [esp + 0x120]
mov byte [esp + ecx + 0x12b], 0
mov ecx, dword [0x4908c8]
and ecx, 0xd1232191
mov dword [0x4908c8], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x124], ecx
mov ecx, dword [0x49a228]
inc ecx
mov dword [0x49a228], ecx
and ecx, 0xbdd656d7
mov edx, dword [0x49599c]
mov esi, edx
dec esi
mov dword [0x49599c], esi
sub eax, edx
cmp ecx, eax
jge 0x4495e4
mov eax, dword [0x49ac8c]
add eax, 0x73bd358d
xor eax, 0xef528c7d
mov ecx, dword [0x497d70]
sub ecx, eax
mov dword [0x497d70], ecx
jmp 0x449622
mov ax, word [0x4808b0]
movsx ecx, ax
mov ax, word [0x485304]
movsx edx, ax
imul ecx, edx
mov edx, dword [0x49cd24]
or edx, ecx
mov dword [0x49cd24], edx
mov eax, dword [esp + 0x120]
add eax, 0xffffffff
mov dword [esp + 0x120], eax
jmp 0x4494e2
mov eax, dword [0x4964b0]
add eax, 0x8017aaab
xor eax, 0xc94aead
mov ecx, dword [0x498efc]
imul ecx, ecx, 0x85242219
imul ecx, ecx, 0x6b7cfe06
cmp eax, ecx
jle 0x4496a1
mov eax, 0xab866124
mov cx, word [0x488e04]
movsx edx, cx
sar edx, 8
mov esi, dword [0x48c514]
shl esi, 9
add edx, esi
cmp eax, edx
jl 0x44969c
mov eax, dword [0x48e514]
sar eax, 1
add eax, 0x53e6807f
mov ecx, dword [0x48e878]
shl ecx, 1
cmp eax, ecx
jg 0x449692
jmp 0x449697
jmp 0x449697
jmp 0x44969c
jmp 0x4496a1
mov eax, 0x4d25cf42
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx + 4], edx
mov dword [ecx], 0x49da78
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edx
call fcn.00455480
mov ecx, dword [0x499f6c]
xor ecx, 0x7307b754
mov dword [0x499f6c], ecx
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx], edx
mov dword [esp + 0x48], eax
call fcn.004222f0
mov dword [esp + 0x124], eax
mov eax, dword [0x49c548]
xor eax, 0x31b4ec5a
mov dword [0x49c548], eax
mov eax, dword [0x47fbe8]
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x48031e]
mov cx, si
and ecx, 0x6b54
mov si, word [0x485534]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x485534], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3d6
mov dword [esp + 0x44], eax
call fcn.00445b40
mov dword [esp + 0x548], eax
mov eax, dword [0x496064]
imul eax, eax, 0xf0811859
mov dword [0x496064], eax
mov eax, dword [esp + 0x548]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx], eax
call fcn.00455490
mov si, word [0x48627a]
mov cx, si
add ecx, 0x370d61c1
mov si, cx
mov word [0x48627a], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3c59
mov dword [esp + 0x40], eax
call fcn.00445b40
mov dword [esp + 0x544], eax
mov eax, dword [0x49d100]
add eax, 0xb9e99841
mov dword [0x49d100], eax
mov eax, dword [esp + 0x548]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004235c0
mov eax, dword [0x497c3c]
mov ecx, eax
inc ecx
mov dword [0x497c3c], ecx
xor eax, 0x5861300
mov ecx, dword [0x489d50]
or ecx, eax
mov dword [0x489d50], ecx
mov eax, dword [esp + 0x544]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x52c]
call fcn.0041e970
sub esp, 4
mov ecx, dword [0x49d1d0]
mov edx, ecx
dec edx
mov dword [0x49d1d0], edx
sub ecx, 0x9d08a920
mov edx, dword [esp + 0x50]
cmp edx, ecx
mov dword [esp + 0x3c], eax
jle 0x449860
mov eax, dword [0x491ff4]
imul eax, eax, 0xebf36c4d
or eax, 0xc4b03dfd
mov ecx, dword [0x49635c]
xor ecx, eax
mov dword [0x49635c], ecx
lea eax, [esp + 0x52c]
lea ecx, [esp + 0x12b]
mov edx, dword [esp + 0x544]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
call fcn.004235c0
mov di, word [0x48458e]
mov ax, di
or eax, 0x989b
mov di, ax
mov word [0x48458e], di
mov eax, dword [esp + 0x38]
mov ecx, eax
call fcn.004270e0
lea ecx, [esp + 0x52c]
mov dword [esp + 0x30], eax
call fcn.0044fac0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0x2c], ecx
call fcn.00414410
cmp eax, 0
jne 0x449adc
mov eax, 0x147bf0ca
mov ecx, dword [0x48b19c]
and ecx, 0x25812681
mov dword [0x48b19c], ecx
mov ecx, dword [0x47fb90]
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], esi
call ecx
sub esp, 8
mov ecx, dword [0x498568]
imul ecx, ecx, 0x86a23400
mov di, word [0x488930]
mov dx, di
xor edx, ecx
mov di, dx
mov word [0x488930], di
mov ecx, esp
mov edx, dword [esp + 0x24]
mov dword [ecx + 4], edx
mov dword [ecx], 0x49da78
mov dword [esp + 0x20], eax
call fcn.00455480
mov di, word [0x484bec]
mov cx, di
and ecx, 0x2349
mov di, cx
mov word [0x484bec], di
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3d6
mov dword [esp + 0x1c], eax
call fcn.00445b40
mov dword [esp + 0x540], eax
mov eax, dword [0x4975e0]
mov ecx, dword [0x493f14]
dec ecx
mov dword [0x493f14], ecx
sub eax, ecx
mov ecx, dword [esp + 0x28]
cmp ecx, eax
jl 0x4499d1
mov eax, dword [0x48b3dc]
and eax, 0xfafdd3fd
mov dword [0x48b3dc], eax
mov eax, dword [esp + 0x540]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
call fcn.00455490
mov ecx, dword [0x48a8c8]
mov edx, ecx
dec edx
mov dword [0x48a8c8], edx
and ecx, 0xe865e6b4
cmp ecx, 0xe0f23e
mov dword [esp + 0x18], eax
jle 0x449a83
mov eax, dword [0x49ab4c]
mov ecx, dword [0x490310]
dec ecx
mov dword [0x490310], ecx
imul eax, ecx
mov dx, word [0x483900]
movsx ecx, dx
sub ecx, 0xfff89d2c
or ecx, 0x9b10b44
cmp eax, ecx
je 0x449a6f
mov eax, 0x3fb2b2da
mov ecx, dword [0x495688]
xor ecx, 0xffffffff
and ecx, 0x5d33f9c7
and ecx, 0x9bc32207
cmp eax, ecx
jg 0x449a6a
jmp 0x449a6a
jmp 0x449a7e
mov eax, dword [0x499d60]
and eax, 0xe0f76c02
mov dword [0x499d60], eax
jmp 0x449ab5
mov eax, dword [0x49aab0]
dec eax
mov dword [0x49aab0], eax
and eax, 0xdf04bc01
mov ecx, dword [0x49a5cc]
cmp eax, ecx
jle 0x449ab0
mov eax, dword [0x496a64]
xor eax, 0x6b92d9e7
mov dword [0x496a64], eax
jmp 0x449ab5
mov eax, dword [esp + 0x540]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004235c0
mov eax, dword [0x497a04]
imul eax, eax, 0x44b5b493
mov dword [0x497a04], eax
mov eax, dword [0x489f90]
inc eax
mov dword [0x489f90], eax
or eax, 0x547ff078
cmp eax, 0x5c19cf9c
jg 0x449b06
mov eax, dword [0x490520]
and eax, 0xcd1482d7
mov dword [0x490520], eax
jmp 0x449b0b
mov dword [0x49c9bc], 0x6633244c
mov eax, 0x2e38e33
mov cx, word [0x489a94]
mov dx, cx
dec edx
mov si, dx
mov word [0x489a94], si
movsx edx, cx
sub edx, 0x8c4c447a
cmp eax, edx
jge 0x449b68
mov eax, 0x1e82bb87
mov ecx, dword [0x492360]
sub ecx, 0xcf173a3a
cmp eax, ecx
jne 0x449b63
mov dword [0x49a4ec], 0xe5dbff7e
jmp 0x449b68
mov eax, esp
lea ecx, [esp + 0x12b]
mov dword [eax], ecx
call fcn.004222f0
mov ecx, dword [0x495d60]
not ecx
mov edx, dword [0x499570]
xor ecx, edx
cmp ecx, 0x39391431
mov dword [esp + 0x14], eax
jg 0x449ba7
mov dword [0x49c910], 0x2004104
jmp 0x449bd1
mov eax, 0xe0f5e8af
mov ecx, dword [0x495ef0]
sar ecx, 8
cmp eax, ecx
je 0x449bcc
mov eax, dword [0x4939d4]
or eax, 0x772f4399
mov dword [0x4939d4], eax
jmp 0x449bd1
mov eax, dword [0x47fb9c]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [ecx + 4], 2
call eax
sub esp, 8
mov ecx, dword [0x493364]
mov edx, ecx
inc edx
mov dword [0x493364], edx
sub ecx, 0x8007f405
cmp ecx, 0x191e7356
mov dword [esp + 0x10], eax
jg 0x449c70
mov eax, dword [0x48fd88]
shl eax, 2
sub eax, 0x91fdca1b
cmp eax, 0xd5df5e26
jg 0x449c56
mov eax, dword [0x499eb4]
mov ecx, eax
dec ecx
mov dword [0x499eb4], ecx
imul eax, eax, 0xd363467e
or eax, 0x2f01692d
mov ecx, dword [0x4975c8]
add ecx, eax
mov dword [0x4975c8], ecx
jmp 0x449c6b
mov ax, word [0x488d54]
movsx ecx, ax
or ecx, 0x41c189f0
mov dword [0x49cff8], ecx
jmp 0x449c88
mov ax, word [0x486b42]
mov cx, ax
add ecx, 0x306a73ac
mov ax, cx
mov word [0x486b42], ax
mov eax, esp
lea ecx, [esp + 0x12b]
mov dword [eax], ecx
mov dword [eax + 4], 0x401
call fcn.004233d0
mov dx, word [0x4847a8]
movsx eax, dx
add eax, 0xf6fd1c3b
or eax, 0x44e101fd
mov ecx, dword [0x499bc8]
add ecx, eax
mov dword [0x499bc8], ecx
lea ecx, [esp + 0x52c]
call fcn.0044fbd0
add esp, 0x56c
pop esi
pop edi
pop ebx
ret