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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x560
mov eax, 0x658aad9d
mov ecx, dword [0x487ea4]
imul ecx, ecx, 0x35578836
and ecx, 0x5e88
mov dx, word [0x4804f2]
mov si, dx
add esi, ecx
mov dx, si
mov word [0x4804f2], dx
lea ecx, [esp + 0x520]
mov dword [esp + 0x108], eax
call fcn.00424190
mov dx, word [0x4828f0]
movsx ecx, dx
sar ecx, 4
and ecx, 0x45b64d1d
xor ecx, 0x6b8636f1
mov esi, dword [0x48a248]
or esi, ecx
mov dword [0x48a248], esi
mov ecx, dword [0x48d3c8]
and ecx, 0x82886188
mov dword [0x48d3c8], ecx
mov ecx, dword [0x48c634]
imul ecx, ecx, 0xb36db972
or ecx, 0x19eb1840
mov esi, dword [0x48931c]
add esi, ecx
mov dword [0x48931c], esi
mov ecx, dword [0x487cdc]
inc ecx
mov dword [0x487cdc], ecx
mov esi, dword [0x48bd6c]
imul esi, ecx
mov dword [0x48bd6c], esi
mov dword [esp + 0x10c], 0
mov ecx, dword [0x4862a8]
add ecx, 0x63db2d64
and ecx, 0x8c37552d
mov dword [0x48b758], ecx
mov dword [0x48ecf8], 0x94
mov dx, word [0x47fd2a]
mov cx, dx
add ecx, 0xd1b53ed2
mov dx, cx
mov word [0x47fd2a], dx
mov ecx, dword [0x47f860]
mov esi, esp
mov dword [esi], 0x48ecf8
mov dword [esp + 0x104], eax
call ecx
sub esp, 4
mov dx, word [0x481bda]
movsx ecx, dx
xor ecx, 0xffffffff
mov esi, dword [esp + 0x108]
cmp esi, ecx
mov dword [esp + 0x100], eax
jl 0x44e26c
mov eax, 0x7098b4ad
mov ecx, dword [0x485da4]
shl ecx, 0xa
or ecx, 0xbc628358
or ecx, 0x1c68e4ff
cmp eax, ecx
jle 0x44e267
mov eax, 0xb947c663
mov ecx, dword [0x48e354]
xor ecx, 0xfb28c56b
cmp eax, ecx
jle 0x44e262
jmp 0x44e262
jmp 0x44e267
jmp 0x44e26c
call fcn.00438b00
mov dword [0x48f50c], eax
mov eax, dword [0x48bf54]
add eax, 0xb9e5e283
mov dword [0x48bf54], eax
call fcn.0043e2e0
mov dword [0x48f510], eax
mov cx, word [0x4839a6]
movsx eax, cx
shr eax, 3
imul eax, eax, 0x871f59ce
and eax, 0x14b169d6
mov edx, dword [0x4896ec]
add edx, eax
mov dword [0x4896ec], edx
mov eax, dword [0x48f50c]
cmp eax, 0
je 0x44e494
mov eax, dword [0x488d24]
add eax, 0x1f7295e6
mov dword [0x488d24], eax
mov eax, esp
lea ecx, [esp + 0x11f]
mov dword [eax], ecx
mov dword [esp + 0xfc], ecx
call fcn.00425090
mov dword [esp + 0x118], eax
mov eax, dword [0x48c6cc]
or eax, 0x81500881
mov dword [0x48c6cc], eax
mov eax, dword [esp + 0x118]
mov byte [esp + eax + 0x11f], 0x5c
mov eax, dword [0x48a5b0]
xor eax, 0x70c58d8b
mov dword [0x48a5b0], eax
mov eax, dword [esp + 0x118]
inc eax
mov dword [esp + 0x118], eax
mov eax, dword [0x487714]
xor eax, 0xd5e5dfff
mov dword [0x487714], eax
mov eax, dword [esp + 0x118]
mov byte [esp + eax + 0x11f], 0
mov eax, dword [0x489520]
mov ecx, eax
inc ecx
mov dword [0x489520], ecx
imul eax, eax, 0xf28e3419
mov ecx, 0x38c75863
sub ecx, eax
mov dword [0x48e294], ecx
mov eax, dword [0x48f550]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xfc]
mov dword [ecx], eax
call fcn.004556e0
mov dx, word [0x482330]
mov cx, dx
and ecx, 0x806d
mov dx, cx
mov word [0x482330], dx
mov ecx, dword [0x47f8a8]
mov esi, esp
mov edi, dword [esp + 0xfc]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0xf8], eax
call ecx
sub esp, 8
mov dx, word [0x484758]
movsx ecx, dx
mov esi, dword [0x489144]
lea ecx, [ecx + esi - 0xb8d876]
mov dword [0x489144], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2372
mov dword [esp + 0xf4], eax
call fcn.00449170
mov dword [esp + 0x55c], eax
mov dx, word [0x48271e]
movsx eax, dx
mov ecx, dword [0x487184]
dec ecx
mov dword [0x487184], ecx
sub eax, ecx
mov ecx, dword [0x486da0]
add ecx, eax
mov dword [0x486da0], ecx
mov eax, dword [esp + 0x55c]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xfc]
mov dword [ecx], eax
call fcn.004556e0
mov ecx, dword [0x48e864]
add ecx, 0xe3bb3dfa
xor ecx, 0xae8d8d12
mov esi, dword [0x488504]
sub esi, ecx
mov dword [0x488504], esi
mov ecx, dword [esp + 0x55c]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0xf0], eax
call fcn.0044fa10
mov eax, dword [0x487c28]
imul eax, eax, 0xc3b9c7e3
mov dword [0x487c28], eax
jmp 0x44e4c8
mov ax, word [0x483498]
movsx ecx, ax
mov edx, dword [0x48e7b0]
imul edx, ecx
mov dword [0x48e7b0], edx
mov byte [esp + 0x11f], 0
mov ecx, dword [0x48713c]
mov edx, dword [0x486528]
and edx, ecx
mov dword [0x486528], edx
mov eax, 0x7a2b98d2
mov ecx, dword [0x487b80]
imul ecx, ecx, 0x4102d58c
mov dword [0x487b80], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x14a
mov dword [esp + 0xec], eax
call fcn.00449170
mov dword [esp + 0x558], eax
mov dx, word [0x48100c]
mov ax, dx
not eax
mov dx, word [0x482e5a]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x482e5a], dx
mov eax, dword [esp + 0x558]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x520]
call fcn.0043cd70
sub esp, 4
mov ecx, dword [0x48946c]
xor ecx, 0xffffffff
mov esi, dword [esp + 0xec]
cmp esi, ecx
mov dword [esp + 0xe8], eax
jg 0x44e56b
mov dword [0x48d7dc], 0xb1d6d34d
jmp 0x44e57b
mov eax, dword [0x48ca74]
imul eax, eax, 0x410084
mov dword [0x48ca74], eax
lea eax, [esp + 0x520]
lea ecx, [esp + 0x11f]
mov edx, dword [esp + 0x558]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], ecx
call fcn.0044fa10
mov eax, dword [0x489ddc]
imul eax, eax, 0x9ea337ae
mov dword [0x489ddc], eax
mov eax, dword [esp + 0xe4]
mov ecx, eax
call fcn.004240d0
lea ecx, [esp + 0x520]
mov dword [esp + 0xdc], eax
call fcn.0044ffa0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0xd8], ecx
call fcn.0041bde0
cmp eax, 0
je 0x44e6fc
mov eax, 0x75a0e458
mov ecx, dword [0x48a698]
and ecx, 0x29e3e8a3
mov dword [0x48a698], ecx
mov dword [esp + 0x10c], 1
mov ecx, dword [0x48b3fc]
add ecx, 0x4f265348
mov edx, dword [0x489828]
sar edx, 2
or ecx, edx
cmp eax, ecx
jge 0x44e671
mov eax, dword [0x48b2f0]
mov ecx, 0xe142d3f8
sub ecx, eax
mov dx, cx
mov word [0x4815b8], dx
mov eax, dword [0x47f834]
mov ecx, esp
lea edx, [esp + 0x11f]
mov dword [ecx], edx
mov dword [esp + 0xd4], edx
call eax
sub esp, 4
mov ecx, dword [0x48e078]
xor ecx, 0x17fc0c40
mov dword [0x48e078], ecx
mov ecx, dword [esp + 0x118]
mov byte [esp + ecx + 0x11f], 0
mov dword [0x48cae8], 0xdf3e8e0b
mov ecx, dword [0x47f8ac]
mov edx, esp
mov esi, dword [esp + 0xd4]
mov dword [edx], esi
mov dword [esp + 0xd0], eax
call ecx
sub esp, 4
mov ecx, dword [0x48e320]
and ecx, 0x627bd1c
xor ecx, 0x1cc87b95
mov edx, dword [0x4879a8]
sub edx, ecx
mov dword [0x4879a8], edx
mov dword [esp + 0xcc], eax
mov eax, 0xe04d16d1
mov ecx, dword [0x48dfe8]
xor ecx, 0x9f836c6f
mov dword [0x48dfe8], ecx
mov ecx, esp
lea edx, [esp + 0x11f]
mov dword [ecx], edx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc4], edx
call fcn.00425090
mov si, word [0x481600]
movsx ecx, si
mov edx, dword [0x488534]
sub edx, ecx
mov dword [0x488534], edx
mov byte [esp + 0x122], 0
mov ecx, dword [0x486968]
inc ecx
mov dword [0x486968], ecx
mov si, word [0x47fc70]
mov dx, si
imul ecx, edx
imul ecx, ecx, 0x52dafce0
mov si, cx
mov word [0x47fc70], si
mov ecx, dword [0x48f550]
mov edx, esp
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xc4]
mov dword [edx], ecx
mov dword [esp + 0xc0], eax
call fcn.004556e0
mov ecx, dword [0x48b164]
mov edx, dword [0x48b2c4]
sub ecx, edx
mov si, word [0x4807f4]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x4807f4], si
mov ecx, dword [0x47f8a8]
mov edx, esp
mov edi, dword [esp + 0xc4]
mov dword [edx], edi
mov dword [edx + 4], 0
mov dword [esp + 0xbc], eax
call ecx
sub esp, 8
mov si, word [0x4838dc]
movsx ecx, si
mov edx, dword [0x485440]
sub edx, ecx
mov dword [0x485440], edx
mov ecx, esp
mov edx, dword [esp + 0xc4]
mov dword [ecx + 4], edx
mov dword [ecx], 0x48eeb4
mov dword [esp + 0xb8], eax
call fcn.004556d0
mov si, word [0x4832f0]
movsx ecx, si
mov edx, dword [esp + 0xc8]
cmp edx, ecx
mov dword [esp + 0xb4], eax
jl 0x44e842
mov word [0x48401e], 0x7380
cmp dword [esp + 0x10c], 0
jne 0x44e8f0
mov eax, 0xb21c118
mov cx, word [0x483ffc]
mov dx, cx
dec edx
mov cx, dx
mov word [0x483ffc], cx
movsx edx, cx
and edx, 0xcee8e677
cmp eax, edx
jne 0x44e8ce
mov eax, 0x3d29c06d
mov ecx, dword [0x485348]
mov edx, ecx
inc edx
mov dword [0x485348], edx
mov si, word [0x4833c6]
mov dx, si
inc edx
mov si, dx
mov word [0x4833c6], si
movsx edx, si
sub ecx, edx
cmp eax, ecx
je 0x44e8c9
mov ax, word [0x4813d2]
mov cx, ax
and ecx, 0x2df5
mov ax, cx
mov word [0x4813d2], ax
jmp 0x44e8ce
mov dword [0x48f508], 0
mov ax, word [0x483ee0]
mov cx, ax
or ecx, 0x4f4c
mov ax, cx
mov word [0x483ee0], ax
mov ax, word [0x484106]
mov cx, ax
imul ecx, ecx, 0x54c0a3c9
mov ax, cx
mov word [0x484106], ax
mov ecx, esp
lea edx, [esp + 0x11f]
mov dword [ecx], edx
mov dword [esp + 0xb0], edx
call fcn.00425300
mov dword [esp + 0x118], eax
mov eax, dword [0x487690]
xor eax, 0x50
add eax, eax
or eax, 0x5f4f
mov si, word [0x482d14]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x482d14], si
mov eax, dword [0x47f8a8]
mov ecx, esp
mov edx, dword [esp + 0xb0]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x483180]
mov cx, si
add ecx, 0x910c4463
mov si, word [0x482252]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x482252], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2372
mov dword [esp + 0xac], eax
call fcn.00449170
mov dword [esp + 0x554], eax
mov si, word [0x48401a]
movsx eax, si
mov ecx, 0xc06fff35
sub ecx, eax
mov eax, dword [0x4850bc]
mov edx, eax
inc edx
mov dword [0x4850bc], edx
add eax, 0xb53b4ff
xor eax, 0x6483d4fa
cmp ecx, eax
jg 0x44e9f4
mov eax, dword [0x48e15c]
and eax, 0x50e78fae
mov dword [0x48e15c], eax
jmp 0x44ea0f
mov eax, dword [0x489984]
mov ecx, dword [0x48c348]
xor ecx, eax
not ecx
or ecx, 0x7700932b
mov dword [0x4850c8], ecx
lea eax, [esp + 0x520]
lea ecx, [esp + 0x11f]
mov edx, dword [esp + 0x554]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x11f]
mov dword [esi], edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ecx
call fcn.004556e0
mov di, word [0x4805c8]
movsx ecx, di
and ecx, 0x285f10ee
mov edx, dword [0x48d2e0]
lea ecx, [edx + ecx*4]
mov dword [0x48d2e0], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x14a
mov dword [esp + 0xa0], eax
call fcn.00449170
mov dword [esp + 0x550], eax
mov eax, dword [0x48bfb4]
xor eax, 0xbff3cfff
mov dword [0x48bfb4], eax
mov eax, dword [esp + 0x554]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0044fa10
mov eax, dword [0x48e10c]
imul eax, eax, 0xd9cfb922
and eax, 0x4a1af022
mov dword [0x48e894], eax
mov eax, dword [esp + 0x550]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x520]
call fcn.0043cd70
sub esp, 4
mov ecx, dword [0x48c8c4]
add ecx, 0x65a4cdea
and ecx, 0x1912a1ae
mov edx, dword [0x486fac]
imul edx, ecx
mov dword [0x486fac], edx
mov ecx, dword [esp + 0x550]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x9c], eax
call fcn.0044fa10
mov word [0x481644], 0x7151
mov eax, dword [esp + 0xa8]
mov ecx, eax
call fcn.004240d0
lea ecx, [esp + 0x520]
mov dword [esp + 0x98], eax
call fcn.0044ffa0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0x94], ecx
call fcn.0041bde0
cmp eax, 0
jne 0x44f7fc
mov ax, word [0x480730]
mov cx, ax
xor ecx, 0x5603
mov ax, cx
mov word [0x480730], ax
cmp dword [0x48ecfc], 6
jb 0x44ec5b
mov eax, dword [0x486788]
and eax, 0x3ca00858
mov dword [0x486788], eax
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 0x304f
call fcn.00449170
mov dword [esp + 0x54c], eax
mov eax, dword [0x487e90]
mov ecx, dword [0x488ab8]
xor eax, ecx
xor eax, 0x6525fbd3
mov dword [0x488ab8], eax
mov eax, dword [esp + 0x54c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x11f]
mov dword [ecx], eax
mov dword [ecx + 8], 0x48ed8c
call fcn.004558fc
mov ecx, dword [0x48e300]
and ecx, 0x180a
mov dx, word [0x483010]
mov si, dx
imul esi, ecx
mov dx, si
mov word [0x483010], dx
mov ecx, dword [esp + 0x54c]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x12
mov dword [esp + 0x90], eax
call fcn.0044fa10
mov eax, dword [0x48bbf8]
and eax, 0x17f0dce
mov dword [0x48bbf8], eax
jmp 0x44ed28
mov ax, word [0x4849aa]
movsx ecx, ax
xor ecx, 0xdb8548e3
mov edx, dword [0x4859f0]
add edx, ecx
mov dword [0x4859f0], edx
mov ecx, esp
mov dword [ecx + 4], 0x24
mov dword [ecx], 0xf0d
call fcn.00449170
mov dword [esp + 0x548], eax
mov si, word [0x482de6]
mov ax, si
add eax, 0x66cf4e56
mov si, ax
mov word [0x482de6], si
mov eax, dword [esp + 0x548]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x11f]
mov dword [ecx], eax
mov dword [ecx + 8], 0x48ed8c
call fcn.004558fc
mov ecx, dword [0x487c8c]
mov si, word [0x483990]
mov dx, si
and ecx, edx
and ecx, 0x8549
mov si, word [0x484860]
mov dx, si
or edx, ecx
mov si, dx
mov word [0x484860], si
mov ecx, dword [esp + 0x548]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x24
mov dword [esp + 0x8c], eax
call fcn.0044fa10
mov eax, dword [0x48a774]
add eax, 0xeb2ad700
mov dword [0x48a774], eax
mov eax, 0x348d0951
mov ecx, dword [0x48767c]
dec ecx
mov dword [0x48767c], ecx
or ecx, 0x15532608
cmp eax, ecx
jne 0x44edab
mov eax, dword [0x488920]
mov ecx, eax
dec ecx
mov dword [0x488920], ecx
xor eax, 0xca442804
or eax, 0x3531c7ab
mov ecx, dword [0x48c3a0]
and ecx, 0xc3b19d1b
cmp eax, ecx
jge 0x44ed88
mov eax, dword [0x485acc]
or eax, 0x59ba0615
mov dword [0x485acc], eax
jmp 0x44eda6
mov eax, dword [0x484b3c]
dec eax
mov dword [0x484b3c], eax
and eax, 0x9e631d5d
mov ecx, dword [0x48a418]
or ecx, eax
mov dword [0x48a418], ecx
jmp 0x44edab
mov byte [esp + 0x51f], 0
mov eax, dword [0x48aeb8]
xor eax, 0xb2d14456
mov dword [0x48aeb8], eax
mov eax, dword [0x48f550]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x11f]
mov dword [ecx], eax
mov dword [esp + 0x88], eax
call fcn.004556e0
mov ecx, dword [0x48c474]
mov edx, ecx
inc edx
mov dword [0x48c474], edx
mov edx, 0xf0674f8c
sub edx, ecx
mov ecx, dword [0x48c504]
xor edx, ecx
xor edx, 0x3eb9d1d6
mov dword [0x48c504], edx
mov ecx, dword [0x47f8a8]
mov edx, esp
mov esi, dword [esp + 0x88]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x84], eax
call ecx
sub esp, 8
mov di, word [0x482260]
mov cx, di
or ecx, 0xffdd
mov di, cx
mov word [0x482260], di
mov ecx, esp
mov edx, dword [esp + 0x88]
mov dword [ecx + 4], edx
mov dword [ecx], 0x48eeb4
mov dword [esp + 0x80], eax
call fcn.004556d0
mov ecx, dword [0x48d550]
or ecx, 0xbff657df
mov dword [0x48d550], ecx
mov ecx, esp
mov edx, dword [esp + 0x88]
mov dword [ecx], edx
mov dword [esp + 0x7c], eax
call fcn.00425300
mov dword [esp + 0x118], eax
mov eax, dword [0x487310]
sar eax, 7
imul eax, eax, 0xf4d5ebbf
or eax, 0x6a2ffde1
mov ecx, dword [0x48b588]
and ecx, eax
mov dword [0x48b588], ecx
mov eax, dword [0x47f8a8]
mov ecx, esp
mov edx, dword [esp + 0x88]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x4886f4]
xor ecx, 0xbafbffcf
mov dword [0x4886f4], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2372
mov dword [esp + 0x78], eax
call fcn.00449170
mov dword [esp + 0x544], eax
mov di, word [0x482214]
movsx eax, di
sar eax, 5
mov dword [0x4899e4], eax
mov eax, dword [esp + 0x544]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x88]
mov dword [ecx], eax
call fcn.004556e0
mov ecx, dword [0x487698]
sar ecx, 3
or ecx, 0x408000
mov di, word [0x4825be]
movsx edx, di
and edx, 0x9862f4d1
xor edx, 0x182e8ef3
cmp ecx, edx
mov dword [esp + 0x74], eax
jle 0x44ef7c
mov ax, word [0x480570]
mov cx, ax
xor ecx, 0x65e2
mov ax, cx
mov word [0x480570], ax
jmp 0x44ef94
mov ax, word [0x47fa4c]
mov cx, ax
imul ecx, ecx, 0xf73fb4df
mov ax, cx
mov word [0x47fa4c], ax
lea eax, [esp + 0x520]
lea ecx, [esp + 0x11f]
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x14a
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ecx
call fcn.00449170
mov dword [esp + 0x540], eax
mov eax, dword [0x48984c]
imul eax, eax, 0xda11b7e7
mov dword [0x48984c], eax
mov eax, dword [esp + 0x544]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0044fa10
mov si, word [0x4846d2]
mov ax, si
add eax, 0xecdaf600
mov si, ax
mov word [0x4846d2], si
mov eax, dword [esp + 0x540]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x520]
call fcn.0043cd70
sub esp, 4
mov si, word [0x48193c]
movsx ecx, si
sar ecx, 3
and ecx, 0x40a2a184
mov edx, dword [0x4899c4]
xor edx, ecx
mov dword [0x4899c4], edx
mov ecx, dword [esp + 0x540]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x68], eax
call fcn.0044fa10
mov si, word [0x48345e]
mov ax, si
xor eax, 0x68b2
mov si, word [0x482780]
mov cx, si
add ecx, eax
mov si, cx
mov word [0x482780], si
mov eax, dword [esp + 0x70]
mov ecx, eax
call fcn.004240d0
lea ecx, [esp + 0x520]
mov dword [esp + 0x64], eax
call fcn.0044ffa0
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.0041bde0
cmp eax, 0
jne 0x44f7df
mov eax, 0xb855c1ca
mov ecx, dword [0x4851e8]
mov edx, ecx
inc edx
mov dword [0x4851e8], edx
sub ecx, 0xed939095
cmp eax, ecx
jl 0x44f0fe
mov eax, dword [0x48ce5c]
xor eax, 0xa659d740
mov dword [0x48ce5c], eax
mov eax, 0xfd78601a
mov ecx, dword [0x47f850]
mov edx, esp
lea esi, [esp + 0x11f]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x5c], eax
call ecx
sub esp, 8
mov ecx, dword [0x488dc4]
shl ecx, 7
xor ecx, 0x4ff1bd6c
mov edx, dword [esp + 0x5c]
cmp edx, ecx
mov dword [esp + 0x58], eax
jle 0x44f152
mov eax, dword [0x4872f0]
add eax, 0xd0e9e36e
mov dword [0x4872f0], eax
mov eax, esp
lea ecx, [esp + 0x11f]
mov dword [eax], ecx
call fcn.00452610
mov dword [esp + 0x118], eax
mov eax, dword [0x48873c]
imul eax, eax, 0x7e7fdfd2
mov dword [0x48873c], eax
mov eax, dword [esp + 0x118]
add eax, 0xfffffffe
mov dword [esp + 0x118], eax
mov eax, dword [0x48a3f8]
sub eax, 0x6dac12d0
cmp eax, 0x9f9e1e2c
jge 0x44f1b7
mov ax, word [0x482362]
mov cx, ax
add ecx, 0xbadb5ccc
mov ax, cx
mov word [0x482362], ax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x114], eax
cmp dword [esp + 0x114], 0
jle 0x44f316
mov eax, 0x37ff9efd
mov cx, word [0x4811ce]
movsx edx, cx
or edx, 0x66f4cef2
cmp eax, edx
je 0x44f212
mov ax, word [0x47fbd4]
movsx ecx, ax
add ecx, 0xe9b5a268
mov edx, dword [0x484ea4]
and edx, ecx
mov dword [0x484ea4], edx
jmp 0x44f21c
mov dword [0x4879f4], 0xbc6c46d4
mov eax, dword [esp + 0x114]
movsx eax, byte [esp + eax + 0x11f]
cmp eax, 0x5c
jne 0x44f2cd
mov eax, 0xe201765c
mov cx, word [0x48080a]
mov dx, cx
or edx, 0x110
mov cx, dx
mov word [0x48080a], cx
mov edx, dword [esp + 0x114]
inc edx
mov dword [esp + 0x114], edx
mov dword [0x48a420], 0x48159bf5
mov edx, dword [esp + 0x114]
mov byte [esp + edx + 0x11f], 0
mov cx, word [0x47feb6]
mov dx, cx
dec edx
mov cx, dx
mov word [0x47feb6], cx
movsx edx, cx
xor edx, 0x20206482
cmp eax, edx
jne 0x44f2b0
mov eax, dword [0x489c0c]
add eax, 0x1511d60c
mov dword [0x489c0c], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x118], eax
mov dword [0x4871f4], 0x8940144
jmp 0x44f316
mov eax, 0x2300818
mov ecx, dword [0x48ebf0]
add ecx, 0xb4ab8004
cmp eax, ecx
jge 0x44f2fb
mov eax, dword [0x48b9f4]
not eax
mov ecx, dword [0x48c344]
and ecx, eax
mov dword [0x48c344], ecx
jmp 0x44f300
mov eax, dword [esp + 0x114]
add eax, 0xffffffff
mov dword [esp + 0x114], eax
jmp 0x44f1c5
mov eax, 0x2d23b80b
mov ecx, dword [0x484cf4]
sub ecx, 0x1d3b990c
cmp eax, ecx
jl 0x44f34a
mov eax, dword [0x48886c]
mov ecx, 0xc607f138
sub ecx, eax
mov eax, dword [0x48b920]
not eax
or ecx, eax
mov dword [0x485838], ecx
mov eax, esp
lea ecx, [esp + 0x11f]
mov dword [eax + 4], ecx
mov dword [eax], 0x48eeb4
mov dword [esp + 0x54], ecx
call fcn.004556d0
mov dx, word [0x47fe68]
mov cx, dx
add ecx, 0xc8269016
mov dx, cx
mov word [0x47fe68], dx
mov ecx, esp
mov esi, dword [esp + 0x54]
mov dword [ecx], esi
mov dword [esp + 0x50], eax
call fcn.00425300
mov dword [esp + 0x118], eax
mov eax, dword [0x48d200]
and eax, 0x533ba35f
mov dx, word [0x48465e]
movsx ecx, dx
or ecx, 0x40530048
cmp eax, ecx
je 0x44f3c3
mov dword [0x4860f0], 0xb3e070ba
mov eax, 0xeaa2c81d
mov ecx, dword [0x47f8a8]
mov edx, esp
lea esi, [esp + 0x11f]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x4c], eax
call ecx
sub esp, 8
mov ecx, dword [0x486ac8]
xor ecx, 0xb0081582
mov dword [0x486ac8], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2372
mov dword [esp + 0x48], eax
call fcn.00449170
mov dword [esp + 0x53c], eax
mov di, word [0x4803fc]
movsx eax, di
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jg 0x44f448
mov ax, word [0x482b26]
mov cx, ax
add ecx, 0x3a37b17f
mov ax, cx
mov word [0x482b26], ax
lea eax, [esp + 0x520]
lea ecx, [esp + 0x11f]
mov edx, dword [esp + 0x53c]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x11f]
mov dword [esi], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
call fcn.004556e0
mov di, word [0x483f12]
mov cx, di
dec ecx
mov bx, cx
mov word [0x483f12], bx
movsx ecx, di
mov edx, dword [0x48c428]
imul edx, edx, 0x1e51e286
and ecx, edx
mov edx, dword [0x48dd14]
add edx, ecx
mov dword [0x48dd14], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x14a
mov dword [esp + 0x3c], eax
call fcn.00449170
mov dword [esp + 0x538], eax
mov eax, dword [0x48ecc4]
or eax, 0xcca04818
mov dword [0x48ecc4], eax
mov eax, dword [esp + 0x53c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0044fa10
mov eax, dword [0x48c8a0]
xor eax, 0x1a27a9a8
mov dword [0x48c8a0], eax
mov eax, dword [esp + 0x538]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x520]
call fcn.0043cd70
sub esp, 4
mov ecx, dword [0x485508]
mov edx, ecx
inc edx
mov dword [0x485508], edx
mov edx, 0x2f449699
sub edx, ecx
mov ecx, dword [0x48dddc]
or ecx, edx
mov dword [0x48dddc], ecx
mov ecx, dword [esp + 0x538]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x38], eax
call fcn.0044fa10
mov eax, dword [0x487b04]
add eax, 0x792fbf2
mov dword [0x485d04], eax
mov eax, dword [esp + 0x44]
mov ecx, eax
call fcn.004240d0
lea ecx, [esp + 0x520]
mov dword [esp + 0x34], eax
call fcn.0044ffa0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0x30], ecx
call fcn.0041bde0
cmp eax, 0
jne 0x44f7d0
mov ax, word [0x481754]
mov cx, ax
and ecx, 0xe73b
mov ax, cx
mov word [0x481754], ax
mov ecx, dword [0x47f850]
mov edx, esp
lea esi, [esp + 0x11f]
mov dword [edx + 4], esi
mov dword [edx], 0x104
call ecx
sub esp, 8
mov ecx, dword [0x48952c]
dec ecx
mov dword [0x48952c], ecx
and ecx, 0xcad5f869
mov di, word [0x484448]
movsx edx, di
mov esi, dword [0x486190]
or edx, esi
mov esi, dword [0x484fe0]
mov ebx, esi
dec ebx
mov dword [0x484fe0], ebx
or edx, esi
cmp ecx, edx
mov dword [esp + 0x2c], eax
jg 0x44f6bf
mov eax, 0xabb64c40
mov cx, word [0x481802]
movsx edx, cx
sar edx, 0xa
and edx, 0x6329e332
xor edx, 0x4dee8b42
cmp eax, edx
jne 0x44f685
mov eax, dword [0x48bce4]
mov ecx, eax
inc ecx
mov dword [0x48bce4], ecx
add eax, 0x6f183a27
mov ecx, dword [0x48bf64]
shl ecx, 6
and eax, ecx
cmp eax, 0x7dffeff7
jne 0x44f680
jmp 0x44f680
jmp 0x44f6ba
mov eax, 0x706f6fe2
mov ecx, dword [0x48d63c]
sar ecx, 2
imul ecx, ecx, 0x751aea88
mov edx, dword [0x48bc88]
dec edx
mov dword [0x48bc88], edx
add ecx, edx
cmp eax, ecx
jge 0x44f6b5
jmp 0x44f6b5
jmp 0x44f6ba
jmp 0x44f6d7
mov ax, word [0x47fb20]
mov cx, ax
imul ecx, ecx, 0xceeeab97
mov ax, cx
mov word [0x47fb20], ax
mov eax, 0xff86ffff
mov ecx, esp
lea edx, [esp + 0x11f]
mov dword [ecx + 4], edx
mov dword [ecx], 0x48eeb4
mov dword [esp + 0x28], eax
call fcn.004556d0
mov ecx, dword [0x4862a0]
sar ecx, 2
sub ecx, 0x716461f3
mov edx, dword [esp + 0x28]
cmp edx, ecx
mov dword [esp + 0x24], eax
jne 0x44f72e
mov ax, word [0x480a1e]
mov cx, ax
imul ecx, ecx, 0xb99b5a20
mov ax, cx
mov word [0x480a1e], ax
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x2372
call fcn.00449170
mov dword [esp + 0x534], eax
mov eax, dword [0x487918]
imul eax, eax, 0x6a3bbdc6
mov dword [0x487918], eax
mov eax, dword [esp + 0x534]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x11f]
mov dword [ecx], eax
call fcn.004556e0
mov ecx, dword [0x48e3b0]
and ecx, 0x6a910
mov dword [0x48e3b0], ecx
mov ecx, dword [esp + 0x534]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x20], eax
call fcn.0044fa10
mov eax, dword [0x488bf4]
mov ecx, dword [0x488e20]
mov si, word [0x484034]
mov dx, si
add ecx, edx
xor eax, ecx
mov si, word [0x48360e]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x48360e], si
mov eax, dword [0x488220]
or eax, 0x1a019d00
mov dword [0x488220], eax
mov eax, dword [0x48c54c]
and eax, 0x636740c2
xor eax, 0x66feded9
mov ecx, dword [0x48b898]
and ecx, eax
mov dword [0x48b898], ecx
mov eax, 0xdc71f7f0
mov cx, word [0x47fd96]
mov dx, cx
imul edx, edx, 0x1e65628
mov cx, dx
mov word [0x47fd96], cx
mov edx, esp
lea esi, [esp + 0x11f]
mov dword [edx], esi
mov dword [esp + 0x1c], eax
call fcn.00425300
mov edx, dword [0x4894fc]
mov esi, edx
inc esi
mov dword [0x4894fc], esi
mov esi, dword [esp + 0x1c]
cmp esi, edx
mov dword [esp + 0x18], eax
jle 0x44f866
mov ax, word [0x483c98]
mov cx, ax
add ecx, 0x5aa9a798
mov ax, cx
mov word [0x483c98], ax
mov eax, dword [0x47f85c]
mov ecx, esp
lea edx, [esp + 0x11f]
mov dword [ecx], edx
mov dword [ecx + 4], 2
mov dword [esp + 0x14], edx
call eax
sub esp, 8
mov ecx, dword [0x48d260]
imul ecx, ecx, 0xf6b6be43
mov dword [0x485a4c], ecx
mov ecx, esp
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], 0x401
mov dword [esp + 0x10], eax
call fcn.004238e0
mov eax, dword [0x485b38]
add eax, eax
or eax, 0xac0
mov si, word [0x480cf4]
mov cx, si
xor ecx, eax
mov si, cx
mov word [0x480cf4], si
lea ecx, [esp + 0x520]
call fcn.0044ffb0
add esp, 0x560
pop esi
pop edi
pop ebx
ret