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

Disassembly:
mov edi, 1
jmp 0x4b468d
mov ecx, dword [esp + 0x130]
mov esi, dword [esp + 0x34]
push edi
push ecx
xor edi, edi
push edi
push edi
mov ecx, ebx
call 0x4b5021
cmp dword [esp + 0x1c0cc], edi
je 0x4b46e7
mov edx, dword [ebx + 0x38]
cmp byte [edx + 0x62b2], 0
je 0x4b46db
push 0x44c
call 0x529780
push eax
call 0x5613a6
add esp, 4
push 6
mov ecx, 0x51ff10
call 0x4e7a15
cmp al, 0x33
add eax, dword [eax]
jmp 0x4b46e7
push 6
mov ecx, 0x51ff10
call 0x4e7853
lea ecx, [esp + 0xc4]
call fcn.004bab0f
mov eax, dword [ebx + 0x38]
push eax
lea ecx, [esp + 0xf158]
call fcn.004c1f5f
mov byte [esp + 0x2ec70], 2
mov ecx, dword [ebx + 0x38]
push ecx
lea ecx, [esp + 0x31f8]
call fcn.004c1f77
mov byte [esp + 0x2ec70], 3
mov eax, dword [ebx + 0x38]
cmp byte [eax + 0x5126], 0
je 0x4b473f
cmp byte [eax + 0x5124], 0
je 0x4b473f
mov ecx, 1
jmp 0x4b4741
xor ecx, ecx
mov byte [esp + 0xe110], cl
mov edx, dword [eax + 0x73ac]
mov ecx, dword [eax + 0x73a8]
push edx
mov edx, dword [eax + 0x73a4]
push ecx
push edx
lea ecx, [esp + 0x3200]
call fcn.004bf925
mov eax, dword [ebx + 0x38]
movzx ecx, byte [eax + 0x6195]
neg ecx
sbb ecx, ecx
and ecx, 3
inc ecx
push ecx
push esi
lea ecx, [esp + 0xf15c]
call 0x4ef605
test al, al
je 0x4b4aac
add byte [eax], al
mov eax, dword [ebx + 0x38]
mov edx, dword [eax + 0x6160]
or edx, dword [eax + 0x6164]
jne 0x4b47c6
cmp byte [esp + 0x1a068], dl
jne 0x4b47b3
cmp dword [eax + 0x6148], edi
jne 0x4b47c6
cmp byte [eax + 0x6197], 0
je 0x4b481b
cmp dword [esp + 0x1a064], 2
jne 0x4b481b
lea ecx, [esp + 0xf154]
call 0x4eff7e
cmp eax, 0x14
jne 0x4b47f7
cmp edx, edi
jne 0x4b47f7
lea ecx, [esp + 0xf154]
call 0x4ef983
mov dword [esp + 0x10174], 1
jmp 0x4b4aba
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + 0x6160]
or ecx, dword [eax + 0x6164]
je 0x4b481b
mov dword [eax + 0x6160], edi
mov dword [eax + 0x6164], edi
mov byte [ebx + 0x18f8], 0
push edi
lea ecx, [esp + 0xf158]
call fcn.004c22f4
lea ecx, [esp + 0xf154]
call 0x4bf8e0
test al, al
jne 0x4b4843
push esi
mov ecx, 0x51ff10
call 0x4e80ff
lea ecx, [esp + 0xf154]
call 0x4bf6ab
push esi
push edi
call fcn.004be21b
cmp dword [esp + 0xf158], 0xffffffff
mov eax, dword [esp + 0x130]
setne byte [esp + 0x17]
xor esi, esi
mov byte [esp + 0x14], 0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
cmp eax, esi
jbe 0x4b4991
lea edi, [esi + 3]
lea ecx, [ecx]
push esi
lea ecx, [esp + 0xc8]
call fcn.004ba879
cmp dword [eax + 0x2c], 2
je 0x4b48f9
push esi
lea ecx, [esp + 0xc8]
call fcn.004ba88c
cmp dword [eax + 0x2c], edi
jne 0x4b4981
push esi
lea ecx, [esp + 0xc8]
call fcn.004ba8a2
mov ecx, dword [eax + 0xc]
cmp ecx, dword [esp + 0x30]
jb 0x4b4935
ja 0x4b491a
mov edx, dword [eax + 8]
cmp edx, dword [esp + 0x2c]
jbe 0x4b4935
push esi
lea ecx, [esp + 0xc8]
call fcn.004ba8c3
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
push esi
lea ecx, [esp + 0xc8]
call fcn.004ba8de
mov ecx, dword [eax + 8]
add dword [esp + 0xe13c], ecx
mov edx, dword [eax + 0xc]
push esi
adc dword [esp + 0xe144], edx
lea ecx, [esp + 0xc8]
call fcn.004ba8ff
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x31f8]
call fcn.004bf85e
add dword [esp + 0xe144], eax
adc dword [esp + 0xe148], 0
mov eax, dword [esp + 0x130]
inc esi
cmp esi, eax
jb 0x4b48d0
cmp byte [esp + 0x17], 0
je 0x4b4b7d
mov ecx, dword [esp + 0x1a064]
mov dword [esp + 0xe104], ecx
test eax, eax
jne 0x4b49bd
mov edx, dword [ebx + 0x38]
cmp byte [edx + 0x62b2], al
je 0x4b4bd1
lea ecx, [esp + 0x31f4]
call fcn.004bf9d5
push 0
push 1
lea eax, [esp + 0xf15c]
push eax
lea ecx, [esp + 0x3200]
call fcn.004c426d
lea ecx, [esp + 0xe11a]
push ecx
lea edx, [esp + 0x19]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0xf164]
push edx
mov ecx, ebx
call fcn.004b6496
cmp byte [esp + 0x15], 0
je 0x4b4bd1
xor esi, esi
cmp dword [esp + 0x130], esi
jbe 0x4b4a43
lea edi, [esi + 4]
push esi
lea ecx, [esp + 0xc8]
mov eax, dword [ebx + 0x38]
cmp dword [eax + 0x6180], 0
jne 0x4b4bd1
push 0xa
mov ecx, 0x51ff10
call 0x4e7bcb
lea ecx, [esp + 0x31f4]
call 0x4efc07
mov byte [esp + 0x2ec70], 2
lea ecx, [esp + 0x31f4]
call fcn.004c00eb
mov byte [esp + 0x2ec70], 1
lea ecx, [esp + 0xf154]
call fcn.004c00ff
mov byte [esp + 0x2ec70], 0
lea ecx, [esp + 0xc4]
call fcn.004b64c3
jmp 0x4b6652
cmp dword [esp + 0x10174], 1
jne 0x4b4b60
push 1
push esi
lea ecx, [esp + 0x31fc]
mov byte [esp + 0xe154], 1
call 0x4f007d
mov edx, dword [ebx + 0x38]
cmp word [edx + 0x1010], di
je 0x4b4b3f
lea ecx, [esp + 0x1184]
call 0x4ef925
mov byte [esp + 0x2ec70], 4
mov eax, dword [ebx + 0x38]
add eax, 0x1010
push eax
lea ecx, [esp + 0x1188]
call 0x4f0072
push 0x7fffffff
push 0x7fffffff
lea ecx, [esp + 0x31fc]
push ecx
lea ecx, [esp + 0x1190]
call 0x4f0590
mov dword [esp + 0xe114], eax
mov byte [esp + 0x2ec70], 3
lea ecx, [esp + 0x1184]
call 0x4f007b
add eax, dword [eax]
mov eax, dword [ebx + 0x38]
cmp dword [eax + 0x6148], edi
je 0x4b4b5a
cmp dword [eax + 0x6134], edi
je 0x4b4b5a
mov byte [esp + 0xe108], 1
push edi
jmp 0x4b4898
push esi
push edi
mov ecx, 0x51ff10
call 0x4e8298
push 9
mov ecx, 0x51ff10
call 0x4e7eb4
jmp 0x4b489f
mov ecx, dword [ebx + 0x38]
xor edx, edx
cmp byte [ecx + 0x6197], dl
push 0
setne dl
push 0
lea eax, [esp + 0xf15c]
push eax
lea ecx, [esp + 0x3200]
add edx, 2
mov dword [esp + 0xe110], edx
call fcn.004c4439
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + 0x6160]
mov eax, dword [eax + 0x6164]
mov edx, ecx
or edx, eax
je 0x4b4bd1
push eax
push ecx
lea eax, [esp + 0x31fc]
push eax
call 0x54707d
mov ecx, dword [esp + 0xe104]
push ecx
mov ecx, dword [ebx + 0x38]
call fcn.004d51ed
xor esi, esi
cmp dword [esp + 0x130], esi
jbe 0x4b4c3f
lea edi, [esi + 2]
nop
mov edx, dword [ebx + 0x38]
cmp byte [edx + 0x6153], 0
je 0x4b4c0e
push esi
lea ecx, [esp + 0xc8]
call fcn.004baba5
cmp dword [eax + 0x2c], edi
je 0x4b4c21
push esi
lea ecx, [esp + 0xc8]
call fcn.004babb7
cmp dword [eax + 0x2c], 1
js 0x4b4c4a
add dword [ebp + 0x14], esi
push esi
lea ecx, [esp + 0xc8]
call fcn.004babca
mov dword [eax + 0x2c], 0
inc esi
cmp esi, dword [esp + 0x130]
jb 0x4b4bf0
mov esi, dword [ebx + 0x38]
cmp word [esi + 0x73b0], 0
cmp dword [esi + 0x73b0], 0
jne 0x4b4ce3
cmp byte [esp + 0x17], 0
je 0x4b4c65
cmp byte [esp + 0x1a068], 0
jne 0x4b4ce3
cmp byte [esp + 0x16], 0
jne 0x4b4ce3
mov eax, dword [esi + 0x6148]
test eax, eax
je 0x4b4c8a
mov ecx, dword [esp + 0xe13c]
mov edx, dword [esp + 0xe140]
jmp 0x4b4c92
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
neg eax
sbb eax, eax
and eax, 0xe0000
add eax, 0x20000
cmp dword [esi + 0xc], eax
jbe 0x4b4ce3
push 0
push 2
push edx
push ecx
call 0x57643c
mov edi, eax
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + 0xc]
xor esi, esi
cmp esi, edx
jb 0x4b4ce3
ja 0x4b4cc4
cmp eax, edi
jbe 0x4b4ce3
shr dword [ecx + 0xc], 1
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + 0x6148]
neg eax
sbb eax, eax
and eax, 0xe0000
add eax, 0x20000
cmp dword [ecx + 0xc], eax
ja 0x4b4cb2
mov esi, 3
mov ecx, 0x400000
cmp dword [esp + 0xe104], esi
jne 0x4b4d09
mov eax, dword [ebx + 0x38]
cmp byte [eax + 0x619c], 0
je 0x4b4d1e
mov byte [eax + 0x619c], 0
cmp dword [esp + 0xe104], 2
jne 0x4b4d1e
mov eax, dword [ebx + 0x38]
cmp dword [eax + 0xc], ecx
jbe 0x4b4d1e
mov dword [eax + 0xc], ecx
mov eax, dword [ebx + 0x38]
xor edi, edi
cmp dword [eax + 0x6134], edi
jne 0x4b4d38
mov ecx, 0x20000
cmp dword [eax + 0xc], ecx
jbe 0x4b4d38
mov dword [eax + 0xc], ecx
cmp byte [esp + 0xe108], 0
je 0x4b4d52
mov ecx, dword [ebx + 0x38]
cmp byte [ecx + 0x617d], 0
jne 0x4b4d52
mov al, 1
jmp 0x4b4d54
xor al, al
push edi
push eax
lea ecx, [esp + 0xcc]
call fcn.004bb41e
mov edx, dword [ebx + 0x38]
cmp dword [edx + 0x61a0], edi
je 0x4b4d9a
cmp dword [esp + 0xe104], esi
jne 0x4b4d9a
push 0x62c
call 0x529e3c
push eax
call 0x554a22
call 0x555137
lea eax, [esp + 0xc4]
push eax
mov ecx, ebx
call fcn.004b6da6
mov ecx, dword [ebx + 0x3c]
cmp ecx, edi
je 0x4b4da9
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
cmp byte [esp + 0x17], 0
je 0x4b4de3
cmp dword [esp + 0x1a064], esi
je 0x4b4def
push 0x1b498
call 0x576d8f
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x2ec70], 6
cmp eax, edi
je 0x4b4e19
lea ecx, [ebx + 0x58]
push ecx
mov ecx, eax
call 0x510f6d
jmp 0x4b4e1b
mov ecx, dword [ebx + 0x38]
cmp byte [ecx + 0x6197], 0
je 0x4b4db9
push 0x6228
call 0x576dc5
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x2ec70], 5
cmp eax, edi
je 0x4b4e19
lea edx, [ebx + 0x58]
push edx
mov ecx, eax
call 0x50a623
jmp 0x4b4e1b
xor eax, eax
mov byte [esp + 0x2ec70], 3
mov edx, dword [ebx + 0x38]
mov dword [ebx + 0x3c], eax
mov dword [edx + 0xa3c8], eax
lea eax, [ebx + 0x58]
push eax
lea ecx, [esp + 0x1f0e0]
mov word [eax], fs
lock add dword [eax], eax
call 0x544dbb
mov byte [esp + 0x2ec70], 7
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x38]
mov edx, dword [ecx]
mov eax, dword [eax + 0x83b0]
mov edx, dword [edx + 0x20]
push eax
call edx
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + 0x83b0]
cmp ecx, 8
jb 0x4b4e6e
mov ecx, 8
mov dword [esp + 0x1f0f8], ecx
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0x3c]
dec ebx
cmp al, 0x8b
adc dword [ebx + 0x428b50f0], ecx
add al, 0xff
invalid
test al, al
jne 0x4b4eb6
mov edi, 0x100000
mov edi, edi
mov eax, dword [ebx + 0x38]
cmp dword [eax + 0xc], edi
jbe 0x4b4f56
shr dword [eax + 0xc], 1
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x38]
mov edx, dword [ecx]
mov eax, dword [eax + 0xc]
mov edx, dword [edx + 4]
push eax
call edx
test al, al
je 0x4b4e90
xor edi, edi
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + 0xc]
cmp esi, eax
je 0x4b4edb
shr eax, 0x14
push eax
shr esi, 0x14
push esi
push 0x663
push es
add byte [eax], al
call 0x529f8e
push eax
call 0x561bb4
add esp, 0xc
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
lea esi, [ebx + 8]
push esi
call eax
cmp byte [esp + 0x1a068], 0
lea eax, [ebx + 0x58]
mov dword [esi + 0x24], ebx
mov ecx, dword [ebx + 0x38]
mov dword [esi + 0x2c], eax
lea edx, [esp + 0xf154]
lea eax, [esp + 0x31f4]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x20], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], eax
mov byte [esp + 0x15], 0
mov byte [esp + 0x16], 0
je 0x4b4fad
mov ecx, dword [ebx + 0x38]
cmp byte [ecx + 0x5124], 0
jne 0x4b4f40
cmp byte [esp + 0x14], 0
je 0x4b4f8d
mov edx, dword [ebx + 0x48]
add dword [esp + 0xe13c], edx
mov eax, dword [ebx + 0x4c]
adc dword [esp + 0xe140], eax
jmp 0x4b4f92
push 1
push str.rchive
lea ecx, [esp + 0x4c]
call 0x576020
or al, 0
mov byte [esp + 0x2ec70], 8
mov dword [esp + 0x44], 0x4e0cb4
mov byte [esp + 0x2ec70], 7
push 0x4e2f70
lea eax, [esp + 0x48]
push eax
call 0x576ebc
mov byte [esp + 0x15], 1
push edi
lea ecx, [esp + 0xf158]
call fcn.004c4dcb
push edx
push eax
lea ecx, [esp + 0xf160]
call fcn.004c01d9
xor esi, esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], edi
mov byte [esp + 0x2ec70], 9
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x130], edi
jbe 0x4b5de8
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0xc8]
call fcn.004baf9d
mov ecx, 0x14
mov esi, eax
lea edi, [esp + 0x54]
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x80], 0
je 0x4b5dcb
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x90]
jmp 0x4b5030
mov eax, dword [esp + 0x80]
cmp eax, 6
je 0x4b594e
cmp eax, 5
je 0x4b5a50
cmp eax, 4
je 0x4b5a5e
push 0
lea ecx, [esp + 0x96a0]
call 0x4f709c
lea ecx, [esp + 0x114c]
call 0x537368
lea ecx, [esp + 0x1154]
call 0x537374
lea ecx, [esp + 0x115c]
call 0x537380
lea ecx, [esp + 0x1184]
call 0x4efecc
mov byte [esp + 0x2ec70], 0xa
cmp byte [esp + 0xa1], 0
je 0x4b50d9
cmp dword [esp + 0xe104], 3
jne 0x4b50d9
mov edx, dword [ebx + 0x38]
cmp byte [edx + 0x6189], 0
mov byte [esp + 0x13], 1
je 0x4b50de
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x969c]
push eax
push ecx
call 0x4eb61b
cmp dword [esp + 0xa78c], 0
jne 0x4b50de
mov byte [esp + 0x13], 0
mov al, byte [esp + 0xa0]
test al, al
jne 0x4b5101
cmp byte [esp + 0x13], al
mov byte [esp + 0x28], 1
test al, al
je 0x4b511a
mov eax, dword [ebx + 0x38]
cmp word [eax + 0x73b0], 0
jne 0x4b5167
movzx ecx, byte [eax + 0x6189]
mov eax, dword [esp + 0x54]
push ecx
lea edx, [esp + 0x140]
push edx
push eax
call 0x4f634d
cmp byte [esp + 0xa0], 0
mov byte [esp + 0x13], al
je 0x4b5177
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
push ecx
push edx
lea ecx, [esp + 0x1164]
call 0x5373a1
jmp 0x4b5177
mov byte [esp + 0x13], 0
mov dword [esp + 0x1190], 1
adc dword [eax], eax
add byte [ecx], al
add byte [eax], al
invalid
mov cl, byte [esp + 0x28]
test cl, cl
jne 0x4b5302
mov eax, dword [ebx + 0x38]
cmp word [eax + 0x73b0], 0
jne 0x4b5302
cmp byte [esp + 0x13], cl
je 0x4b51ba
movzx eax, byte [eax + 0x6195]
mov ecx, dword [esp + 0x54]
neg eax
sbb eax, eax
and eax, 4
push eax
push ecx
lea ecx, [esp + 0x118c]
call 0x4f0036
cmp dword [esp + 0x1188], 0xffffffff
jne 0x4b525b
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x34]
push edx
push eax
mov ecx, 0x51ff10
call 0x4e88d8
mov ecx, dword [esp + 0x5c]
pop esp
sub dword [esp + 0xe13c], ecx
mov edx, dword [esp + 0x60]
push edi
sbb dword [esp + 0xe144], edx
lea ecx, [esp + 0xc8]
call fcn.004bb19b
inc dword [esp + 0x20]
mov dword [eax + 0x2c], 0
test esi, esi
jl 0x4b5db7
jg 0x4b5222
cmp dword [esp + 0x8c], 0
jbe 0x4b5db7
cmp dword [esp + 0x98], 0
jne 0x4b5db7
mov dword [esp + 0x80], 4
mov dword [ebx + 0x40], 0
mov byte [esp + 0x2ec70], 9
lea ecx, [esp + 0x1184]
call 0x4f0792
jmp 0x4b5030
cmp byte [esp + 0x13], 0
je 0x4b5276
lea ecx, [esp + 0x114c]
call 0x53749a
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
cmp byte [esp + 0xa1], 0
jne 0x4b5324
mov eax, dword [ebx + 0x38]
cmp byte [eax + 0x618a], 0
je 0x4b5324
cmp dword [esp + 0xe104], 3
jne 0x4b5324
lea ecx, [esp + 0xbc]
push ecx
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x118c]
push eax
mov ecx, ebx
mov dword [esp + 0xc8], edi
call fcn.004b7094
test al, al
je 0x4b5324
mov edx, dword [esp + 0xbc]
push 0x800
lea ecx, [esp + 0xa794]
push ecx
push edx
lea ecx, [esp + 0xd0]
mov dword [esp + 0xa798], 4
call fcn.004bb294
push eax
mov eax, dword [ebx + 0x38]
push eax
jmp 0x4b538f
cmp byte [esp + 0xa1], 0
jne 0x4b531c
xor eax, eax
mov dword [esp + 0x113c], eax
mov dword [esp + 0x1140], eax
test cl, cl
jne 0x4b5399
cmp dword [esp + 0x9c], 0xffffffff
je 0x4b5399
cmp dword [esp + 0x1188], 0xffffffff
je 0x4b5344
lea ecx, [esp + 0x1184]
call 0x4f0480
mov esi, dword [esp + 0x9c]
push esi
lea ecx, [esp + 0xc8]
call fcn.004bb2f4
mov eax, dword [eax + 0x2c]
cmp eax, 2
je 0x4b5365
cmp eax, 3
jne 0x4b5399
push 0x800
lea ecx, [esp + 0xa794]
push ecx
push esi
lea ecx, [esp + 0xd0]
mov word [eax + edx*8], fs
add byte [eax], al
add bh, al
test byte [eax + ebx*4], ah
cmpsd dword [esi], dword es:[edi]
add byte [eax], al
add eax, 0xe8000000
pushfd
pop edi
add byte [eax], al
mov edx, dword [ebx + 0x38]
push eax
push edx
call 0x4b5e50
mov byte [esp + 0x28], 1
mov eax, dword [esp + 0x54]
push eax
push 1
mov ecx, 0x51ff20
call fcn.004d5c26
mov eax, dword [ebx + 0x38]
push 0x800
lea ecx, [esp + 0x96c0]
push ecx
lea edx, [esp + 0x5c]
push edx
push eax
call 0x4b5e81
cmp byte [esp + 0x16], 0
je 0x4b5434
lea ecx, [esp + 0xf154]
call fcn.004c0644
push 0
lea ecx, [esp + 0xf158]
mov esi, eax
mov edi, edx
call fcn.004c5216
push edx
push eax
lea ecx, [esp + 0xf160]
call fcn.004c0624
push 0
lea ecx, [esp + 0x1f0e0]
push ecx
push edi
push esi
lea edx, [esp + 0xf164]
push edx
mov ecx, ebx
call fcn.004b6bef
mov edx, dword [ebx + 0x38]
mov edx, dword [edx + 0x6134]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
dec edx
push edx
lea edx, [esp + 0x1f0e0]
push edx
call eax
mov byte [ebx + 0x54], 1
xor edi, edi
cmp byte [esp + 0xe108], 0
mov byte [esp + 0x16], 0
mov byte [esp + 0x15], 0
je 0x4b5563
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + 0x6148]
mov byte [esp + 0x14], 0
test cl, 2
je 0x4b5481
mov esi, dword [eax + 0x614c]
cmp esi, edi
jle 0x4b5481
cmp dword [esp + 0x18], edi
jle 0x4b5481
mov eax, dword [esp + 0x18]
cdq
idiv esi
test edx, edx
jne 0x4b5481
mov byte [esp + 0x14], 1
test cl, 4
je 0x4b54cc
lea ecx, [esp + 0x96bc]
push ecx
call 0x5156df
mov esi, eax
cmp esi, edi
je 0x4b54c2
lea edx, [esp + 0x2d7dc]
push edx
push esi
call 0x534433
test eax, eax
je 0x4b54b0
mov byte [esp + 0x14], 1
push 0x40
push esi
lea eax, [esp + 0x2d7e4]
push eax
call 0x53449c
jmp 0x4b54cc
xor ecx, ecx
mov word [esp + 0x2d7dc], cx
mov edx, dword [ebx + 0x38]
mov edx, dword [edx + 0x6148]
test dl, 8
jne 0x4b552e
lea ecx, [esp + 0x3212]
lea eax, [esp + 0x2dc5c]
mov si, word [eax]
cmp si, word [ecx]
jne 0x4b550e
cmp si, di
je 0x4b550a
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x4b550e
add eax, 4
add ecx, 4
cmp si, di
jne 0x4b54e8
xor eax, eax
jmp 0x4b5513
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x4b552e
test dl, 0x10
jne 0x4b5535
cmp dword [esp + 0x30], edi
jg 0x4b5535
jl 0x4b552e
cmp dword [esp + 0x2c], 0x400000
ja 0x4b5535
cmp byte [esp + 0x14], 0
je 0x4b5553
cmp dword [esp + 0x18], edi
jle 0x4b5553
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
mov byte [ebx + 0x54], 0
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
jmp 0x4b5563
mov eax, dword [esp + 0x5c]
add dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x60]
adc dword [esp + 0x30], ecx
xor eax, eax
jmp 0x4b5570
movzx ecx, word [esp + eax + 0x3212]
mov word [esp + eax + 0x2dc5c], cx
add eax, 2
cmp cx, di
jne 0x4b5570
mov eax, dword [esp + 0x80]
cmp eax, 2
jne 0x4b559e
mov edx, dword [esp + 0x54]
push edi
push edi
push edi
push edx
jmp 0x4b55ac
cmp eax, 3
jne 0x4b55b2
mov eax, dword [esp + 0x54]
push edi
push edi
push 1
push eax
push edi
call fcn.004bef6e
mov eax, dword [ebx + 0x38]
cmp word [eax + 0x73b0], di
jne 0x4b55ce
mov ecx, dword [esp + 0x114c]
or ecx, dword [esp + 0x1150]
jne 0x4b55e0
mov dword [esp + 0x113c], edi
mov dword [esp + 0x1140], 0x100
cmp dword [esp + 0xe104], 3
mov edx, dword [esp + 0x113c]
mov ecx, dword [esp + 0x1140]
mov dword [esp + 0x96a0], 2
mov dword [esp + 0xa6ec], edx
mov dword [esp + 0xa6f0], ecx
mov dword [esp + 0xa6e4], edi
mov dword [esp + 0xa6e8], edi
jne 0x4b5627
mov edi, dword [eax + 0x6138]
jmp 0x4b562c
mov edi, 2
push edi
lea ecx, [esp + 0xa700]
call 0x4f71c5
mov edx, dword [ebx + 0x38]
cmp byte [edx + 0x5124], 0
je 0x4b56e9
cmp byte [esp + 0xa0], 0
jne 0x4b56e9
mov esi, dword [esp + 0xe104]
cmp esi, 3
jne 0x4b569f
push 0x10
lea eax, [esp + 0xa741]
push eax
call 0x4dee9e
mov esi, dword [esp + 0xe104]
xor ecx, ecx
cmp byte [esp + 0xe110], cl
mov dword [esp + 0xa778], 0xf
sete cl
mov byte [esp + 0xa74d], 1
mov byte [esp + 0xa756], cl
mov edx, dword [esp + 0xe11a]
mov eax, dword [esp + 0xe11e]
mov ecx, dword [esp + 0xe122]
mov dword [esp + 0xa72d], edx
mov edx, dword [esp + 0xe126]
mov byte [esp + 0xa727], 1
mov byte [esp + 0xa72c], 1
mov dword [esp + 0xa731], eax
mov dword [esp + 0xa735], ecx
mov dword [esp + 0xa739], edx
jmp 0x4b56f0
mov esi, dword [esp + 0xe104]
mov eax, esi
sub eax, 3
neg eax
sbb eax, eax
and eax, 0x1d
cmp byte [ebx + 0x54], 0
mov byte [esp + 0x96b5], al
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa780], ecx
mov byte [esp + 0xa77d], 0
je 0x4b5726
mov byte [esp + 0xa77c], 1
cmp byte [esp + 0x13], 0
je 0x4b5785
mov edx, dword [esp + 0x114c]
mov ecx, dword [esp + 0x1150]
mov dword [esp + 0xa6cc], edx
mov edx, dword [esp + 0x115c]
mov dword [esp + 0xa6d0], ecx
mov ecx, dword [esp + 0x1160]
mov dword [esp + 0xa6dc], edx
mov edx, dword [esp + 0x1154]
mov dword [esp + 0xa6e0], ecx
mov ecx, dword [esp + 0x1158]
mov dword [esp + 0xa6d4], edx
mov dword [esp + 0xa6d8], ecx
xor edx, edx
jmp 0x4b57b1
xor edx, edx
mov dword [esp + 0xa6cc], edx
mov dword [esp + 0xa6d0], edx
mov dword [esp + 0xa6dc], edx
mov dword [esp + 0xa6e0], edx
mov dword [esp + 0xa6d4], edx
mov dword [esp + 0xa6d8], edx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x96b8], ecx
cmp esi, 2
je 0x4b57ca
cmp dword [esp + 0xa78c], edx
jne 0x4b57d7
and ecx, 0xfffffbff
mov dword [esp + 0x96b8], ecx
cmp dword [esp + 0xa6f0], edx
movzx ecx, byte [esp + 0xa0]
mov byte [esp + 0xa77d], cl
movzx ecx, byte [eax + 0x6134]
mov byte [esp + 0x96b6], cl
jg 0x4b581a
jl 0x4b580c
cmp dword [esp + 0xa6ec], 0x80000000
ja 0x4b581a
cmp word [eax + 0x73b0], dx
jne 0x4b581a
cmp esi, 3
jne 0x4b5822
mov byte [esp + 0xa785], 1
mov edx, dword [eax + 0x83b0]
push edx
push edi
lea ecx, [ebx + 0x24ac]
call 0x4f74f1
lea eax, [esp + 0x31f4]
push eax
lea ecx, [esp + 0x1188]
push ecx
lea esi, [ebx + 0x58]
mov ecx, esi
mov dword [esp + 0xa790], 0
call 0x51cf86
xor eax, eax
mov dword [ebx + 0x1908], eax
mov dword [ebx + 0x190c], eax
mov eax, dword [esp + 0x113c]
mov dword [esp + 0xa6f4], eax
mov edx, dword [esp + 0x1140]
xor edi, edi
cmp byte [esp + 0x28], 0
add dh, al
sub dword [eax + 0x1000000], 0xffffff89
xchg esp, eax
and al, 0xf8
cmpsb byte [esi], byte es:[edi]
add byte [eax], al
jne 0x4b5c7a
mov ecx, dword [ebx + 0x38]
cmp word [ecx + 0x73b0], di
jne 0x4b5c7a
lea edx, [esp + 0x3e]
push edx
lea eax, [esp + 0x43]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call 0x51cf0a
cmp byte [esp + 0x3f], 0
je 0x4b5b8e
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x34]
push edx
push eax
mov ecx, 0x51ff10
call 0x4e8fd9
mov ecx, dword [esp + 0x5c]
sub dword [esp + 0xe13c], ecx
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
sbb dword [esp + 0xe140], edx
push eax
lea ecx, [esp + 0xc8]
call fcn.004bb8a0
inc dword [esp + 0x20]
cmp dword [esp + 0x90], edi
mov dword [eax + 0x2c], edi
jl 0x4b5db7
jg 0x4b5927
cmp dword [esp + 0x8c], edi
jbe 0x4b5db7
mov dword [esp + 0x80], 4
mov dword [ebx + 0x40], edi
mov byte [esp + 0x2ec70], 9
lea ecx, [esp + 0x1184]
call 0x4f0e85
jmp 0x4b501c
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, dword [esp + 0x8c]
push 0
push esi
push ecx
lea ecx, [esp + 0xf160]
call fcn.004c0b9b
lea ecx, [esp + 0xf154]
call fcn.004c80e7
mov eax, dword [esp + 0x148c8]
cmp eax, 2
je fcn.004b59f5
cmp eax, 3
je 0x4b59fe
mov dl, byte [esp + 0x1a070]
cmp dl, byte [esp + 0xe110]
jne 0x4b5dcb
mov eax, dword [esp + 0x1a058]
mov ecx, dword [esp + 0x1a054]
push 0
push eax
push ecx
lea ecx, [esp + 0xf160]
call fcn.004c0bea
mov edx, dword [esp + 0x1a05c]
sub edx, dword [esp + 0x1a054]
mov eax, dword [esp + 0x1a060]
mov al, byte [0x841b0001]
and al, 0x58
mov al, byte [0x8c8d0001]
and al, 0xf4
xor dword [eax], eax
add byte [eax + 0x52], dl
push ecx
lea ecx, [esp + 0xf160]
call 0x4f145c
lea ecx, [esp + 0x1793c]
push 0
push 0
push ecx
push eax
lea ecx, [esp + 0x3204]
call fcn.004c35d3
lea ecx, [esp + 0xf154]
call fcn.004c0c8f
mov ecx, dword [esp + 0x1a05c]
sub ecx, eax
mov eax, dword [esp + 0x1a060]
sbb eax, edx
push eax
push ecx
lea ecx, [esp + 0x31fc]
push ecx
lea ecx, [esp + 0xf160]
call 0x4f14b7
jmp 0x4b5dcb
inc dword [esp + 0x38]
call 0x535625
jmp 0x4b5dcb
cmp byte [esp + 0x1a068], 0
je 0x4b5ac8
cmp byte [esp + 0x15], 0
jne 0x4b5ac8
mov eax, dword [esp + 0x8c]
push 0
lea edx, [esp + 0x1f0e0]
push edx
push esi
push eax
lea ecx, [esp + 0xf164]
push ecx
mov ecx, ebx
call fcn.004b726d
add byte [ebx + 0x982494], cl
add byte [eax], al
mov ecx, dword [ebx + 0x3c]
push edx
push 0
lea eax, [esp + 0x1f0e4]
push eax
push ecx
lea edx, [esp + 0x3204]
push edx
lea eax, [esp + 0xf168]
push eax
mov ecx, ebx
call fcn.004b875a
call 0x53568f
jmp 0x4b5dcb
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, dword [esp + 0x8c]
push 0
push esi
push ecx
lea ecx, [esp + 0xf160]
call 0x4c0d15
lea ecx, [esp + 0xf154]
call fcn.004c8261
lea edx, [esp + 0x155fc]
push edx
lea ecx, [esp + 0x96a0]
call 0x4f7c25
mov eax, dword [esp + 0x98]
test eax, eax
je 0x4b5b24
push eax
lea eax, [esp + 0x96a0]
push eax
mov ecx, ebx
call fcn.004b66f0
lea ecx, [esp + 0xf154]
call 0x4c587c
test al, al
jne 0x4b5b3f
mov cl, byte [esp + 0x1a068]
mov byte [esp + 0x16], cl
cmp byte [esp + 0x16], 0
je 0x4b5b5c
mov edx, dword [ebx + 0x38]
mov eax, dword [edx + 0xc]
cmp eax, dword [esp + 0xa780]
jbe 0x4b5b5c
mov dword [esp + 0xa780], eax
push 0
push 0
push 0
push 2
lea ecx, [esp + 0x3204]
call fcn.004c372c
lea eax, [esp + 0xf154]
push eax
lea ecx, [esp + 0x31f8]
call fcn.004c0be0
call 0x535755
jmp 0x4b5dcb
cmp byte [esp + 0x3e], 0
je 0x4b5be3
mov ecx, dword [esp + 0x1140]
mov edx, dword [esp + 0x24]
xor eax, eax
cmp ecx, eax
mov eax, dword [esp + 0x113c]
ja 0x4b5bcb
mov byte [esp + 0x40], 0
mov edx, dword [esp + 0x40]
push edx
push 1
push ecx
push eax
call fcn.004b684a
add cl, ch
mov dword [eax], eax
add byte [eax], al
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov esi, ecx
push esi
mov dword [esp + 0x1140], eax
test byte [eax + eax*2], ah
adc dword [eax], eax
add byte [ebx + 0x20005f8], cl
add byte [eax], al
mov dword [esp + 0x1144], ecx
push 2
adc ecx, ecx
push ecx
push eax
call 0x577398
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
cmp edx, esi
ja 0x4b5c2a
jb 0x4b5c1e
cmp eax, edi
jae 0x4b5c2a
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], 0x40000000
mov edi, dword [esp + 0x44]
mov esi, 1
xor eax, eax
mov edx, esi
add edx, 0xffffffff
mov ecx, eax
adc ecx, 0xffffffff
cmp dword [esp + 0x48], ecx
jb 0x4b5c5e
ja 0x4b5c4b
cmp edi, edx
jb 0x4b5c5e
shld eax, esi, 7
shl esi, 7
mov edx, esi
or edx, eax
jne 0x4b5c35
mov edx, dword [esp + 0x48]
jmp 0x4b5c68
add esi, 0xffffffff
adc eax, 0xffffffff
mov edi, esi
mov edx, eax
mov eax, edi
xor edi, edi
mov dword [esp + 0xa6f4], eax
mov dword [esp + 0xa6f8], edx
mov ecx, dword [esp + 0xe104]
inc dword [esp + 0x18]
cmp ecx, 3
jne 0x4b5c96
mov dword [ebx + 0x1930], eax
mov dword [ebx + 0x1934], edx
test byte [esp + 0x94], 1
jne 0x4b5caf
mov eax, dword [ebx + 0x38]
cmp dword [eax + 0x6134], edi
je 0x4b5caf
xor al, al
jmp 0x4b5cb1
mov al, 1
cmp byte [esp + 0x28], 0
mov byte [esp + 0x14], al
jne 0x4b5cc0
test al, al
je 0x4b5ce5
mov edx, dword [ebx + 0x38]
mov byte [esp + 0x96b6], 0
cmp byte [edx + 0x5124], 0
jne 0x4b5ce1
cmp ecx, 3
je 0x4b5ce1
mov byte [esp + 0x96b5], 0x14
test al, al
jne 0x4b5d11
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
xor ecx, ecx
add eax, dword [esp + 0xa6ec]
adc ecx, dword [esp + 0xa6f0]
mov dword [esp + 0xc0], ecx
js 0x4b5d1b
jg 0x4b5d11
cmp eax, 0x8000
jbe 0x4b5d1b
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x54]
mov eax, dword [ebx + 0x3c]
push ecx
push 1
push edx
push eax
lea ecx, [esp + 0x1194]
push ecx
lea esi, [ebx + 8]
mov ecx, esi
call fcn.004b87b9
cmp byte [esp + 0x28], 0
jne 0x4b5d9b
cmp byte [esp + 0x14], 0
je 0x4b5d6c
push edi
mov ecx, esi
call fcn.004b888f
lea eax, [ebx + 0x58]
push eax
call fcn.004b7a78
push edi
mov ecx, esi
call fcn.004b82b0
and eax, 0x7e890000
or byte [ecx + 0x2feb047e], cl
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea esi, [eax + 0x62dc]
mov eax, dword [eax + 0x6134]
push esi
dec eax
push eax
movzx eax, byte [ebx + 0x54]
push eax
call edx
cmp byte [esp + 0xe108], 0
je 0x4b5da5
mov byte [ebx + 0x54], 1
cmp byte [esp + 0xe108], 0
jne fcn.004b5daf
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
mov byte [esp + 0x2ec70], 9
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp dword [esp + 0x20], 0
mov eax, dword [ebx + 0x38]
mov dword [eax + 0xa3c8], 0
jle 0x4b5e12
push 6
mov ecx, 0x51ff10
call dword [ecx]
call 0x4e8f7e
cmp dword [esp + 0x18], 0
jne 0x4b5eb2
cmp dword [esp + 0x38], 0
jne 0x4b5eb2
push 0xa
mov ecx, 0x51ff10
call 0x4e8fa0
lea ecx, [esp + 0x31f4]
call 0x4f0fdc
mov byte [esp + 0x2ec70], 7
test esi, esi
je 0x4b5e55
push esi
call 0x577612
add esp, 4
mov byte [esp + 0x2ec70], 3
lea ecx, [esp + 0x1f0dc]
call 0x543085
mov byte [esp + 0x2ec70], 2
lea ecx, [esp + 0x31f4]
call fcn.004c14e9
mov byte [esp + 0x2ec70], 1
lea ecx, [esp + 0xf154]
call fcn.004c14fd
mov byte [esp + 0x2ec70], 0xb
mov eax, dword [esp + 0x120]
test eax, eax
je 0x4b5ead
push eax
call 0x57766a
add esp, 4
jmp 0x4b6636
cmp byte [esp + 0x17], 0
je 0x4b5ecf
lea ecx, [esp + 0xf154]
push ecx
lea ecx, [esp + 0x31f8]
call fcn.004c4659
jmp 0x4b5edf
push 0
push 0
lea ecx, [esp + 0x31fc]
call fcn.004c4c9b
mov byte [esp + 0x2ec70], 7
test esi, esi
je 0x4b5ef4
push esi
call 0x5776b1
add esp, 4
mov byte [esp + 0x2ec70], 3
lea ecx, [esp + 0x1f0dc]
call 0x543124
lea edx, [esp + 0x3212]
and al, 0x12
xor al, byte [eax]
add byte [edx + 0x6a], dl
add byte [ecx + 0x51ff20], bh
call fcn.004d6798
mov eax, dword [ebx + 0x38]
movzx esi, word [eax + 0x639c]
add eax, 0x639c
test si, si
je 0x4b5f5a
xor ecx, ecx
cmp si, 0x40
sete cl
lea edx, [esp + 0x3212]
add byte [ecx + 0x23], cl
rcl dword [eax + 0x52], 0xe8
sub al, 0xfe
pop es
invalid
test al, al
jne 0x4b5f5a
push 2
mov ecx, 0x51ff10
call 0x4e9296
mov eax, dword [ebx + 0x38]
cmp byte [eax + 0x6150], 0
je 0x4b609d
push 0x33e
call 0x52b030
push eax
call 0x555c16
cmp word [esp + 0xe14e], 0
lea eax, [esp + 0xe14e]
jne 0x4b60b6
lea eax, [esp + 0x3212]
mov ecx, dword [ebx + 0x38]
push 0x800
push eax
add ecx, 0xb41a
push ecx
mov dword [esp + 0x24], eax
call 0x5350ab
mov edx, dword [ebx + 0x38]
cmp byte [edx + 0x62d9], 0
je 0x4b634c
mov ecx, dword [0x533b54]
push 0x200
lea eax, [esp + 0x2d860]
push eax
push ecx
call dword [0x4d85ac]
mov edx, dword [esp + 0x18]
push edx
push 0x54
call 0x556911
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
je 0x4b6114
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
push 0xc5e8
mov dword [ebx + 0x3c], 0
call 0x5780f1
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x2ec70], 0xe
test eax, eax
invalid
je 0x4b6141
mov ecx, eax
call 0x4d728b
jmp 0x4b6143
xor eax, eax
mov dword [esp + 0x1c], eax
mov byte [esp + 0x2ec70], 3
mov byte [eax + 0x62d9], 1
mov ecx, dword [ebx + 0x38]
mov edx, dword [ecx + 0x83b0]
mov dword [eax + 0x83b0], edx
mov dword [eax + 0x739c], 1
mov ecx, dword [ebx + 0x38]
movzx edx, byte [ecx + 0x6144]
mov byte [eax + 0x6144], dl
add byte [eax], al
mov ecx, dword [ebx + 0x38]
movzx edx, byte [ecx + 0x6152]
mov byte [eax + 0x6152], dl
mov ecx, dword [ebx + 0x38]
movzx edx, byte [ecx + 0x6195]
mov byte [eax + 0x6195], dl
mov ecx, 0x4d8804
sub eax, ecx
lea edx, [eax + 0xa3fa]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx + ecx], ax
add ecx, 2
test ax, ax
jne 0x4b61b0
mov esi, dword [ebx + 0x38]
mov edi, dword [esp + 0x1c]
add esi, 0x5024
add edi, 0x5024
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x15], al
mov eax, dword [esp + 0x18]
push eax
movsw word es:[edi], word [esi]
call 0x4f2925
mov esi, dword [esp + 0x18]
test al, al
jne 0x4b6230
mov edi, 0x2e
jmp 0x4b6200
mov ecx, dword [ebx + 0x38]
cmp word [ecx + 0x639c], di
je 0x4b622b
push esi
call 0x5480ee
test al, al
sete al
mov byte [esp + 0x15], al
cmp al, 1
je 0x4b6230
push esi
call 0x4f2961
test al, al
je 0x4b6200
jmp 0x4b6230
mov byte [esp + 0x15], 1
cmp byte [esp + 0x15], 0
mov byte [esp + 0x14], 0
jne 0x4b62d6
mov edx, dword [ebx + 0x38]
cmp byte [edx + 0xa3dc], 0
jne 0x4b6251
call 0x5563bd
push esi
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.004d66d9
push 0x4d8800
lea ecx, [esi + 0xc41c]
call 0x535809
mov eax, dword [0x51ff14]
push 0x5c48
mov dword [esp + 0x28], eax
call 0x57824c
add esp, 4
mov dword [esp + 0x40], eax
mov byte [esp + 0x2ec70], 0xf
test eax, eax
je 0x4b629f
push esi
mov ecx, eax
call 0x4ef0a7
mov edi, eax
jmp 0x4b62a1
xor edi, edi
invalid
test byte [eax + esi*2], ah
mov dword [esp + 0x2ec70], 0xffffffff
lea ecx, [esp + 0x1b0b4]
call 0x52e3b5
mov ecx, dword [esp + 0x2ec68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2ec50]
xor ecx, esp
call 0x5776a7
mov esp, ebp
pop ebp
ret 0xc