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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x170
mov dword [esp + 0x164], ecx
mov ecx, dword [esp + 0x164]
mov eax, 0x447c6c
mov eax, ecx
add eax, 0x28
mov dword [esp + 0x118], ecx
mov ecx, eax
call fcn.00418400
cmp eax, 0
jne 0x4c3017
mov eax, dword [esp + 0x118]
cmp dword [eax + 0x1ec], 0
jne 0x4c2fe2
lea eax, [esp + 0x148]
mov ecx, dword [esp + 0x118]
add ecx, 0x1d4
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004449c0
lea ecx, [esp + 0x148]
call fcn.00418400
cmp eax, 0
je 0x4c2a85
lea ecx, [esp + 0x148]
call fcn.004c56c0
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x114]
movzx ecx, word [eax]
cmp ecx, 0x5c
je 0x4c2a85
lea ecx, [esp + 0x148]
call fcn.004c56c0
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x110]
movzx ecx, word [eax]
cmp ecx, 0x2f
je 0x4c2a85
mov eax, 0x447b58
mov eax, esp
call fcn.004c3d60
lea ecx, [esp + 0x148]
call fcn.005328e0
sub esp, 4
jmp 0x4c2a85
mov eax, 0xffffffff
mov ecx, dword [esp + 0x118]
add ecx, 0x4c
mov edx, dword [esp + 0x118]
movzx esi, word [edx + 0xd6]
mov edi, esi
xor edi, 0xffffffff
and edi, 0xffffffff
mov ebx, eax
xor ebx, 0xffffffff
and esi, ebx
or edi, esi
mov esi, eax
xor esi, 0x2000
and esi, 0xffffffff
mov ebx, eax
xor ebx, 0xffffffff
and ebx, 0x2000
or esi, ebx
mov ebx, eax
xor ebx, 0xe45e2ae8
and ebx, 0x1dec2c27
mov edx, eax
xor edx, 0x1dec2c27
mov dword [esp + 0x10c], eax
mov eax, edx
and eax, 0xe45e2ae8
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x10c]
xor eax, 0xffffffff
and eax, 0x1dec2c27
and edx, 0xffffffff
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x108]
or ebx, eax
mov eax, dword [esp + 0x104]
or eax, edx
xor ebx, eax
mov eax, edi
xor eax, 0xe62af3fc
xor eax, 0x19d50c03
mov edx, esi
xor edx, 0xffffffff
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x10c]
xor eax, 0x7264ca59
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x100]
and eax, 0x7264ca59
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xfc]
and edi, eax
mov eax, edx
and eax, 0x7264ca59
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xfc]
and esi, eax
mov eax, dword [esp + 0xf8]
or eax, edi
mov edi, dword [esp + 0xf4]
or edi, esi
xor eax, edi
mov esi, dword [esp + 0x100]
or esi, edx
xor esi, 0xffffffff
mov edx, dword [esp + 0xfc]
or edx, 0x7264ca59
and esi, edx
or eax, esi
mov edx, dword [esp + 0x10c]
xor edx, 0xe45e2ae8
mov esi, ebx
xor esi, 0xffffffff
mov edi, dword [esp + 0x10c]
xor edi, 0xe0ac390a
mov dword [esp + 0xf0], eax
mov eax, 0x447b40
mov eax, edx
and eax, 0xe0ac390a
mov dword [esp + 0xec], eax
mov eax, edi
and eax, 0xe45e2ae8
mov dword [esp + 0xe8], eax
mov eax, edx
mov eax, esi
and eax, 0xe0ac390a
and ebx, edi
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0xe8]
or eax, ecx
mov ecx, dword [esp + 0xe4]
or ecx, ebx
xor eax, ecx
or edx, esi
xor edx, 0xffffffff
or edi, 0xe0ac390a
and edx, edi
or eax, edx
mov ecx, dword [esp + 0xf0]
xor ecx, 0xffffffff
and ecx, 0x46bfe7ee
mov edx, dword [esp + 0x10c]
xor edx, 0x46bfe7ee
mov esi, dword [esp + 0xf0]
and esi, edx
mov edi, dword [esp + 0x10c]
xor edi, 0xffffffff
and edi, 0x46bfe7ee
and edx, 0xffffffff
or ecx, esi
or edi, edx
xor ecx, edi
xor ecx, 0xe7466b08
xor ecx, 0x18b994f7
xor eax, 0xffffffff
mov edx, dword [esp + 0x10c]
xor edx, 0xc6acff27
or ecx, eax
or edx, 0xc6acff27
push edx
mov edx, 0x8e98bad8
xor edx, 0x71674527
xor ecx, edx
pop edx
and ecx, edx
cmp ecx, 0
je 0x4c2cfe
lea eax, [0x5c9c14]
mov dword [esp + 0xdc], eax
jmp 0x4c2d10
lea eax, [0x8032aa]
mov dword [esp + 0xdc], eax
jmp 0x4c2d10
mov eax, dword [esp + 0xdc]
mov ecx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0xd8], eax
call ecx
mov dword [esp + 0xd4], eax
mov eax, 0x5c9bdc
mov eax, dword [eax]
mov ecx, dword [esp + 0x118]
xor ecx, 0xffffffff
and ecx, 0x1decf02
mov edx, eax
xor edx, 0x1decf02
mov esi, dword [esp + 0x118]
and esi, edx
mov edi, eax
xor edi, 0xffffffff
and edi, 0x1decf02
and edx, 0xffffffff
or ecx, esi
or edi, edx
xor ecx, edi
xor ecx, 0xffffffff
xor ecx, 0x604066b6
and ecx, 0x604066b6
mov edx, eax
xor edx, 0x604066b6
and edx, 0x81628854
mov esi, eax
xor esi, 0x81628854
mov edi, esi
and edi, 0x604066b6
mov ebx, eax
xor ebx, 0xffffffff
and ebx, 0x81628854
and esi, 0xffffffff
or edx, edi
or ebx, esi
xor edx, ebx
mov esi, edx
xor esi, 0xffffffff
mov edi, dword [esp + 0x118]
xor edi, esi
mov esi, dword [esp + 0x118]
and edi, esi
mov ebx, dword [esp + 0xd4]
xor ebx, 0xffffffff
and ebx, 0xfa7022e6
mov esi, eax
xor esi, 0xfa7022e6
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xd4]
and eax, esi
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xd0]
xor eax, 0xffffffff
and eax, 0xfa7022e6
and esi, 0xffffffff
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xcc]
or ebx, eax
mov eax, dword [esp + 0xc8]
or eax, esi
xor ebx, eax
xor ebx, 0xffffffff
mov eax, dword [esp + 0xd0]
xor eax, 0x604066b6
mov esi, dword [esp + 0xd0]
xor esi, 0xe4386e77
xor esi, 0x187b12e6
or ebx, eax
or esi, 0xfc437c91
xor ebx, 0xffffffff
and ebx, esi
xor edx, 0xffffffff
mov eax, dword [esp + 0xd4]
xor eax, edx
mov edx, dword [esp + 0xd4]
and eax, edx
mov esi, ecx
and esi, edi
xor ecx, edi
or esi, ecx
mov ecx, 0x447d2c
mov ecx, ebx
xor ecx, 0xffffffff
mov edi, eax
xor edi, 0x7fb34990
xor edi, 0x804cb66f
mov edx, dword [esp + 0xd0]
xor edx, 0x2af5c3be
mov dword [esp + 0xc4], eax
mov eax, ecx
and eax, 0x2af5c3be
and ebx, edx
mov dword [esp + 0xc0], eax
mov eax, edi
and eax, 0x2af5c3be
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc4]
and eax, edx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xc0]
or eax, ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb8]
or ebx, eax
mov eax, dword [esp + 0xb4]
xor eax, ebx
or ecx, edi
xor ecx, 0xffffffff
or edx, 0x2af5c3be
and ecx, edx
or eax, ecx
mov ecx, esi
xor ecx, 0xffffffff
and ecx, 0xdbb3db77
mov edx, dword [esp + 0xd0]
xor edx, 0xdbb3db77
and esi, edx
mov edi, eax
xor edi, 0xffffffff
and edi, 0xdbb3db77
and eax, edx
or ecx, esi
or edi, eax
xor ecx, edi
lea eax, [esp + 0x148]
mov dword [esp + 0xb0], ecx
mov ecx, esi
mov ecx, eax
call fcn.00479140
lea ecx, [esp + 0x128]
lea edx, str._s_08x._s
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x10], eax
call fcn.004b15e0
mov eax, esp
lea ecx, [esp + 0x128]
mov dword [eax], ecx
mov ecx, dword [esp + 0xe0]
call fcn.004c5720
sub esp, 4
lea ecx, [esp + 0x128]
mov dword [esp + 0xac], eax
call fcn.004101e0
lea ecx, [esp + 0x148]
call fcn.004101e0
jmp 0x4c3012
mov eax, dword [esp + 0x118]
add eax, 0x4c
mov ecx, dword [esp + 0x118]
sub ecx, 0xfffffe44
mov edx, esp
mov dword [edx], ecx
mov ecx, ebx
mov ecx, eax
call fcn.00535450
sub esp, 4
mov dword [esp + 0xa8], eax
jmp 0x4c3045
mov eax, dword [esp + 0x118]
add eax, 0x4c
mov ecx, dword [esp + 0x118]
add ecx, 0x28
mov edx, esp
mov dword [edx], ecx
mov ecx, eax
call fcn.00535450
sub esp, 4
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x118]
sub eax, 0xffffffb4
mov ecx, esp
mov dword [ecx + 4], 0xffffffff
mov dword [ecx], 0x802098
mov ecx, eax
call fcn.004a3ea0
sub esp, 8
mov ecx, 0
mov edx, 0xd9620e2
mov esi, 0xf8dd5cc2
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x124]
add esi, 0
sub esi, eax
sub esi, 0xf8dd5cc2
sub edx, 0
sub edx, 1
add edx, 0xf269df1e
add esi, 0xa91ab93a
add esi, edx
sub esi, 0xa91ab93a
sub ecx, esi
add ecx, 0
mov dword [esp + 0x124], ecx
cmp eax, 0xffffffff
jne 0x4c30db
mov dword [esp + 0x124], 0
mov dword [esp + 0x120], 0
mov eax, dword [esp + 0x118]
cmp dword [eax + 0x188], 0
je 0x4c315b
mov eax, dword [esp + 0x118]
cmp dword [eax + 0x18c], 0
je 0x4c315b
mov eax, 0
mov ecx, dword [esp + 0x118]
mov edx, dword [ecx + 0x14]
mov esi, dword [ecx + 0x188]
mov edi, eax
sub edi, 0x6d11a070
add edx, edi
mov edi, eax
sub edi, edx
mov edx, 0x1fffff
mov edx, eax
sub edx, esi
add edi, edx
sub eax, edi
add eax, 0xfe0bccdd
add eax, 0x6d11a070
add eax, 0x1f43323
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x118]
cmp dword [eax + 0x1ec], 0
je 0x4c358d
mov eax, dword [esp + 0x118]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x1ec]
mov esi, esp
mov dword [esi], edx
call fcn.004aab30
sub esp, 4
mov ecx, dword [esp + 0x118]
call fcn.004c3d70
cmp dword [ecx + 0x1f4], 0
jne 0x4c31ba
mov dword [esp + 0x168], 0x1f
jmp 0x4c3d4f
mov eax, 0xffffffff
mov ecx, 0x50
mov edx, dword [esp + 0x118]
sub edx, 0xfffffe08
mov esi, dword [esp + 0x118]
call fcn.004c3d80
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], 0x50
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], ecx
call fcn.004480b0
mov eax, dword [esp + 0x118]
call fcn.004c3d90
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x98ce43f9
mov esi, dword [esp + 0xa0]
xor esi, 0x98ce43f9
mov edi, ecx
and edi, esi
mov ebx, dword [esp + 0xa0]
xor ebx, 0xffffffff
and ebx, 0x98ce43f9
and esi, 0xffffffff
or edx, edi
or ebx, esi
xor edx, ebx
mov esi, dword [esp + 0xa0]
xor esi, 8
and esi, 0x81e8a909
mov edi, dword [esp + 0xa0]
xor edi, 0x81e8a909
mov ebx, edi
and ebx, 8
mov eax, dword [esp + 0xa0]
xor eax, 0xffffffff
and eax, 0x81e8a909
and edi, 0xffffffff
or esi, ebx
or eax, edi
xor esi, eax
mov eax, dword [esp + 0xa0]
xor eax, 0x56b2a877
and eax, 0xf98d2710
mov edi, dword [esp + 0xa0]
xor edi, 0xf98d2710
mov ebx, edx
mov ebx, edi
and ebx, 0x56b2a877
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa0]
xor eax, 0xffffffff
and eax, 0xf98d2710
and edi, 0xffffffff
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x98]
or eax, ebx
mov ebx, dword [esp + 0x94]
or ebx, edi
xor eax, ebx
mov edi, dword [esp + 0xa0]
xor edi, 0xaae493c5
xor edi, 0xfc563bb2
mov ebx, 0x447b40
mov ebx, edx
xor ebx, edi
and ebx, edx
mov edi, eax
xor edi, 0xffffffff
mov dword [esp + 0x90], eax
mov eax, ecx
xor eax, edi
and eax, ecx
mov ecx, esi
xor ecx, 0xffffffff
mov edi, dword [esp + 0xa0]
xor edi, 0x56b2a877
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xa0]
xor eax, 0x18b41267
or ecx, edi
or eax, 0x18b41267
xor ecx, 0xffffffff
and ecx, eax
mov eax, dword [esp + 0x90]
xor eax, 0xffffffff
xor eax, 8
and eax, 8
mov edi, ebx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x8c]
and edi, eax
xor ebx, eax
or edi, ebx
mov ebx, ecx
mov eax, dword [esp + 0x88]
and ebx, eax
xor ecx, eax
or ebx, ecx
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0xca18b4ff
mov eax, dword [esp + 0xa0]
xor eax, 0xca18b4ff
and edi, eax
mov dword [esp + 0x84], eax
mov eax, 0x447cf0
mov eax, ebx
xor eax, 0xffffffff
and eax, 0xca18b4ff
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x84]
and ebx, eax
or ecx, edi
mov edi, dword [esp + 0x80]
or edi, ebx
xor ecx, edi
mov edi, edx
xor edi, 0xffffffff
mov ebx, esi
xor ebx, 0xffffffff
mov eax, dword [esp + 0xa0]
xor eax, 0x5d11088a
mov dword [esp + 0x7c], eax
mov eax, edx
mov eax, edi
and eax, 0x5d11088a
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x7c]
and edx, eax
mov eax, ebx
and eax, 0x5d11088a
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x7c]
and esi, eax
mov eax, dword [esp + 0x78]
or eax, edx
mov edx, dword [esp + 0x74]
or edx, esi
xor eax, edx
or edi, ebx
xor edi, 0xffffffff
mov edx, dword [esp + 0x7c]
or edx, 0x5d11088a
and edi, edx
or eax, edi
mov edx, esi
mov edx, eax
xor edx, 0xffffffff
and edx, 0x695ce002
mov esi, dword [esp + 0xa0]
xor esi, 0x695ce002
and eax, esi
mov edi, dword [esp + 0xa0]
xor edi, 0xffffffff
and edi, 0x695ce002
and esi, 0xffffffff
or edx, eax
or edi, esi
xor edx, edi
mov eax, dword [esp + 0xa0]
xor eax, 0x56b2a877
mov esi, dword [esp + 0x90]
xor esi, 0xffffffff
mov edi, dword [esp + 0xa0]
xor edi, 0x1e9d4f02
mov ebx, 0x447cd8
mov ebx, eax
and ebx, 0x1e9d4f02
mov dword [esp + 0x70], eax
mov eax, edi
and eax, 0x56b2a877
mov dword [esp + 0x6c], eax
mov eax, esi
and eax, 0x1e9d4f02
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x90]
and eax, edi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x6c]
or ebx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x64]
or eax, ecx
xor ebx, eax
mov eax, dword [esp + 0x70]
or eax, esi
xor eax, 0xffffffff
or edi, 0x1e9d4f02
and eax, edi
or ebx, eax
xor ebx, 0xffffffff
mov eax, edx
xor eax, ebx
and eax, edx
mov ecx, dword [esp + 0x60]
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
mov esi, dword [esp + 0xa0]
xor esi, 0xe873596d
mov edi, ecx
and edi, 0xe873596d
mov ebx, dword [esp + 0x60]
and ebx, esi
mov dword [esp + 0x5c], eax
mov eax, 0
mov eax, edx
and eax, 0xe873596d
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x5c]
and eax, esi
or edi, ebx
mov ebx, dword [esp + 0x58]
or ebx, eax
xor edi, ebx
or ecx, edx
xor ecx, 0xffffffff
or esi, 0xe873596d
and ecx, esi
or edi, ecx
mov eax, dword [esp + 0x118]
mov dword [eax], edi
jmp 0x4c393e
mov eax, 0xffffffff
mov ecx, dword [esp + 0x118]
mov edx, dword [ecx]
mov esi, eax
xor esi, 8
and esi, 0xa50cd8a1
mov edi, eax
xor edi, 0xa50cd8a1
mov ebx, edi
and ebx, 8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa50cd8a1
and edi, 0xffffffff
or esi, ebx
or ecx, edi
xor esi, ecx
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x4bb92e24
mov edi, eax
xor edi, 0x4bb92e24
mov ebx, edx
and ebx, edi
mov dword [esp + 0x54], eax
mov eax, esi
xor eax, 0xffffffff
and eax, 0x4bb92e24
and esi, edi
or ecx, ebx
or eax, esi
xor ecx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
mov eax, dword [esp + 0x54]
xor eax, 0x85f578d8
or ecx, edx
or eax, 0x85f578d8
xor ecx, 0xffffffff
and ecx, eax
cmp ecx, 0
je 0x4c3939
mov eax, dword [esp + 0x118]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x7c]
sub eax, 0xffffffb4
mov esi, dword [esp + 0x118]
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x14]
mov esi, esp
mov dword [esi + 0xc], edx
mov dword [esi + 8], eax
mov dword [esi + 4], edi
mov dword [esi], ebx
call fcn.004da320
sub esp, 0x10
mov ecx, dword [esp + 0x118]
call fcn.004c3da0
cmp dword [ecx + 0x1f4], 0
jne 0x4c3696
mov dword [esp + 0x168], 0x1f
jmp 0x4c3d4f
mov eax, 0xffffffff
mov ecx, dword [esp + 0x118]
call fcn.004c3db0
mov esi, edx
xor esi, 0xffffffff
and esi, 0xffffffff
mov edi, eax
xor edi, 0xffffffff
and edx, edi
or esi, edx
mov edx, eax
xor edx, 0x20
and edx, 0x442ec680
mov edi, eax
xor edi, 0x442ec680
mov ebx, 0xff
mov ebx, edi
and ebx, 0x20
mov ecx, 0x447c48
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x442ec680
and edi, 0xffffffff
or edx, ebx
or ecx, edi
xor edx, ecx
mov ecx, eax
xor ecx, 0xb12100fb
and ecx, 0xffffffff
mov edi, eax
xor edi, 0xffffffff
and edi, 0xb12100fb
or ecx, edi
mov edi, esi
xor edi, 0xffffffff
mov ebx, edx
mov ebx, edx
xor ebx, 0xffffffff
mov dword [esp + 0x50], eax
xor eax, 0x5a6c77a3
mov dword [esp + 0x4c], eax
mov eax, edi
and eax, 0x5a6c77a3
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
and esi, eax
mov eax, ebx
and eax, 0x5a6c77a3
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x4c]
and edx, eax
mov eax, dword [esp + 0x48]
or eax, esi
mov esi, dword [esp + 0x44]
or esi, edx
xor eax, esi
or edi, ebx
push ebx
mov ebx, 0x5085f2ed
xor ebx, 0xaf7a0d12
xor edi, ebx
pop ebx
mov edx, dword [esp + 0x4c]
or edx, 0x5a6c77a3
and edi, edx
or eax, edi
mov edx, dword [esp + 0x50]
xor edx, 0x29a3488d
xor edx, 0x98824876
mov esi, ecx
xor esi, 0xffffffff
mov edi, dword [esp + 0x50]
xor edi, 0x73950916
mov ebx, edx
and ebx, 0x73950916
mov dword [esp + 0x40], eax
mov eax, esi
mov eax, edi
and eax, 0xb12100fb
mov dword [esp + 0x3c], eax
mov eax, ebx
mov eax, esi
and eax, 0x73950916
and ecx, edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
or ebx, eax
mov eax, dword [esp + 0x38]
or eax, ecx
xor ebx, eax
or edx, esi
xor edx, 0xffffffff
or edi, 0x73950916
and edx, edi
or ebx, edx
mov eax, dword [esp + 0x40]
xor eax, 0xffffffff
and eax, 0xffffffff
mov ecx, dword [esp + 0x50]
xor ecx, 0xffffffff
mov edx, dword [esp + 0x40]
and edx, ecx
or eax, edx
xor eax, 0xe9379971
xor eax, 0x16c8668e
xor ebx, 0xffffffff
mov ecx, dword [esp + 0x50]
xor ecx, 0x20f2fb79
or eax, ebx
or ecx, 0x20f2fb79
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
jne 0x4c3934
mov eax, 0xffffffff
mov ecx, dword [esp + 0x118]
mov edx, dword [ecx + 0x1f4]
mov esi, dword [edx + 0x34]
mov edi, esi
xor edi, 0xffffffff
mov ebx, 0x447cf0
mov ebx, eax
xor ebx, 0x40000
mov ecx, eax
xor ecx, 0xbd7a245b
or edi, ebx
or ecx, 0xbd7a245b
xor edi, 0xffffffff
and edi, ecx
mov ecx, 0x1f
mov ecx, esi
push ebx
mov ebx, 0xe8d027d5
xor ebx, 0x172fd82a
xor ecx, ebx
pop ebx
and ecx, 0x40000
mov ebx, eax
push ecx
mov ecx, 0x50155927
xor ecx, 0x50115927
xor ebx, ecx
pop ecx
and esi, ebx
or ecx, esi
mov esi, edi
xor esi, 0x1d94ebc0
xor esi, 0xe26b143f
mov ebx, 0x7f
mov ebx, ecx
xor ebx, 0xffffffff
xor eax, 0x4a7964a
mov dword [esp + 0x34], eax
mov eax, esi
and eax, 0x4a7964a
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
and edi, eax
mov eax, 0x447b64
mov eax, ebx
and eax, 0x4a7964a
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
and ecx, eax
mov eax, dword [esp + 0x30]
or eax, edi
mov edi, dword [esp + 0x2c]
or edi, ecx
xor eax, edi
or esi, ebx
xor esi, 0xffffffff
mov ecx, dword [esp + 0x34]
or ecx, 0x4a7964a
and esi, ecx
or eax, esi
mov dword [edx + 0x34], eax
jmp 0x4c3939
jmp 0x4c393e
mov eax, dword [esp + 0x118]
cmp dword [eax + 0x1f4], 0
je 0x4c3d44
mov eax, dword [esp + 0x118]
cmp dword [eax + 0x1ec], 0
je 0x4c3b84
mov eax, dword [esp + 0x118]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x1f4]
mov dword [edx + 0x18], ecx
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x1f4]
mov dword [edx + 0x20], ecx
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x1f4]
mov dword [edx + 0x1c], ecx
sub eax, 0xffffffd8
mov ecx, eax
call fcn.00418400
cmp eax, 0
je 0x4c3b7f
mov eax, dword [esp + 0x118]
add eax, 0x28
mov ecx, esp
mov dword [ecx + 4], 0xffffffff
mov dword [ecx], 0x802098
mov ecx, edx
mov ecx, eax
call fcn.004a3ea0
sub esp, 8
mov ecx, 0
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x11c]
mov edx, ecx
mov edx, ecx
sub edx, 0x14534d9b
mov esi, eax
add esi, edx
mov edx, 0x3fff
mov edx, ecx
sub edx, esi
mov esi, ecx
add esi, 0xffffffff
add edx, esi
sub ecx, edx
sub ecx, 0xa7efa19c
add ecx, 0x14534d9b
add ecx, 0xa7efa19c
mov dword [esp + 0x11c], ecx
cmp eax, 0xffffffff
jne 0x4c3a3b
mov dword [esp + 0x11c], 0
mov eax, dword [esp + 0x118]
add eax, 0x28
mov ecx, eax
mov ecx, eax
call fcn.00418400
shl eax, 1
mov dx, ax
mov eax, dword [esp + 0x118]
mov ecx, dword [eax + 0x1f4]
mov word [ecx + 0x24], dx
sub eax, 0xffffffd8
mov ecx, eax
call fcn.00418400
mov ecx, 0
mov esi, dword [esp + 0x11c]
sub eax, 0x77e25abd
add eax, 0x86f452a4
add eax, 0x77e25abd
mov edi, ecx
sub edi, esi
add eax, edi
add eax, 0x1f13a6da
sub eax, 0x86f452a4
sub eax, 0x1f13a6da
shl eax, 1
mov dx, ax
mov eax, dword [esp + 0x118]
mov esi, dword [eax + 0x1f4]
mov word [esi + 0x2c], dx
mov esi, dword [eax + 0x1f4]
movzx esi, word [esi + 0x24]
mov edi, ecx
sub edi, 2
add edi, 0
mov ebx, ecx
sub ebx, edi
add esi, ebx
mov dx, si
mov esi, dword [eax + 0x1f4]
mov word [esi + 0x26], dx
mov esi, dword [eax + 0x1f4]
movzx esi, word [esi + 0x2c]
mov edi, ecx
sub edi, 0xe1c9e3
sub esi, edi
mov edi, ecx
sub edi, esi
mov esi, ecx
sub esi, 2
add edi, esi
sub ecx, edi
add ecx, 0x5618c26f
sub ecx, 0xe1c9e3
add ecx, 0xa9e73d91
mov dx, cx
mov ecx, dword [eax + 0x1f4]
mov word [ecx + 0x2e], dx
sub eax, 0xffffffd8
mov ecx, esp
mov dword [ecx], 0
mov ecx, 0x447c18
mov ecx, eax
call fcn.004a3ef0
sub esp, 4
mov ecx, dword [esp + 0x118]
mov esi, dword [ecx + 0x1f4]
mov dword [esi + 0x28], eax
sub ecx, 0xffffffd8
mov eax, dword [esp + 0x11c]
mov esi, esp
mov dword [esi], eax
call fcn.004a3ef0
sub esp, 4
mov ecx, dword [esp + 0x118]
mov esi, dword [ecx + 0x1f4]
mov dword [esi + 0x30], eax
jmp 0x4c3b84
mov eax, 0xffffffff
mov ecx, dword [esp + 0x118]
mov edx, dword [ecx]
mov esi, edx
xor esi, 0xffffffff
and esi, 0xda8671b8
mov edi, eax
push edx
mov edx, 0xd1d01b66
xor edx, 0xb566ade
xor edi, edx
pop edx
and edx, edi
mov ebx, eax
xor ebx, 0xffffffff
and ebx, 0xda8671b8
and edi, 0xffffffff
or esi, edx
or ebx, edi
xor esi, ebx
mov edx, eax
xor edx, 0x40
and edx, 0x65d972fc
mov edi, eax
xor edi, 0x65d972fc
mov ebx, edi
and ebx, 0x40
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x65d972fc
and edi, 0xffffffff
or edx, ebx
or ecx, edi
xor edx, ecx
mov ecx, eax
xor ecx, 0xc4a3a5e9
and ecx, 0xffffffff
mov edi, eax
xor edi, 0xffffffff
and edi, 0xc4a3a5e9
or ecx, edi
mov edi, esi
xor edi, 0xffffffff
mov ebx, edx
xor ebx, 0xffffffff
mov dword [esp + 0x28], eax
push ecx
mov ecx, 0xa86ec9ed
xor ecx, 0x16efcd53
xor eax, ecx
pop ecx
mov dword [esp + 0x24], eax
mov eax, edi
and eax, 0xbe8104be
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
and esi, eax
mov eax, ebx
and eax, 0xbe8104be
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
and edx, eax
mov eax, dword [esp + 0x20]
or eax, esi
mov esi, dword [esp + 0x1c]
or esi, edx
xor eax, esi
or edi, ebx
xor edi, 0xffffffff
mov edx, dword [esp + 0x24]
or edx, 0xbe8104be
and edi, edx
or eax, edi
mov edx, 0x3fff
mov edx, ecx
and edx, 0xc4a3a5e9
xor ecx, 0xc4a3a5e9
or edx, ecx
mov ecx, 0x10000
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x2efbd989
mov esi, dword [esp + 0x28]
xor esi, 0x2efbd989
and eax, esi
mov edi, dword [esp + 0x28]
xor edi, 0xffffffff
and edi, 0x2efbd989
and esi, 0xffffffff
or ecx, eax
or edi, esi
xor ecx, edi
xor ecx, 0xffffffff
xor edx, 0xffffffff
mov eax, dword [esp + 0x28]
xor eax, 0xd7fe0209
or ecx, edx
or eax, 0xd7fe0209
xor ecx, 0xffffffff
and ecx, eax
cmp ecx, 0
je 0x4c3d3f
mov eax, dword [esp + 0x118]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x1f4]
mov edx, dword [edx + 0x20]
mov esi, dword [eax + 0x1f4]
mov esi, dword [esi + 0x18]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
call fcn.004aaf60
sub esp, 8
mov dword [esp + 0x18], eax
jmp 0x4c3d44
mov dword [esp + 0x168], 0
mov eax, dword [esp + 0x168]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret