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

Disassembly:
sub esp, 0x98
mov eax, dword [0x528af4]
xor eax, esp
mov dword [esp + 0x94], eax
push ebx
mov ebx, ecx
mov dword [esp + 8], 0
push ebp
push esi
xor ebp, ebp
mov esi, dword [ebx + 0x64b420]
push edi
mov dword [ebx + 0x64b4b8], ebp
mov dword [ebx + 0x64b42c], 0xf4240
lea ecx, [esi + 2]
lea ecx, [ecx]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4e7580
mov eax, dword [ebx + 0x64b3fc]
sub esi, ecx
sar esi, 1
lea edi, [eax + esi*2]
cmp esi, 4
jb 0x4e75ee
cmp word [edi - 8], 0x2e
jne 0x4e75ee
movzx eax, word [edi - 6]
push eax
call fcn.004f292e
add esp, 4
cmp eax, 0x5a
jne 0x4e75ee
movzx eax, word [edi - 4]
cmp eax, 0x30
jb 0x4e75ee
cmp eax, 0x39
ja 0x4e75ee
movzx eax, word [edi - 2]
cmp eax, 0x30
jb 0x4e75ee
cmp eax, 0x39
ja 0x4e75ee
cmp esi, 4
je 0x4e75e4
movzx eax, word [edi]
cmp eax, 0x30
jb 0x4e75ee
cmp eax, 0x39
ja 0x4e75ee
mov eax, 3
jmp 0x4e821f
mov eax, dword [ebx + 0x649380]
lea edi, [ebx + 0x649380]
push 0
push dword [ebx + 0x64b420]
mov ecx, edi
mov dword [esp + 0x30], edi
mov eax, dword [eax + 4]
call eax
test al, al
jne 0x4e7626
push dword [ebx + 0x64b420]
mov ecx, 0x56df60
call fcn.00462f70
jmp 0x4e78e8
mov ecx, edi
call fcn.00467ef0
mov ecx, eax
test edx, edx
jl 0x4e7647
jg 0x4e763d
cmp ecx, 0x40000
jbe 0x4e7647
sub ecx, 0x40000
sbb edx, ebp
jmp 0x4e764b
xor ecx, ecx
xor edx, edx
mov eax, dword [edi]
push 0
push edx
push ecx
mov ecx, edi
call dword [eax + 0xc]
push 0x515038
push edi
mov ecx, ebx
call fcn.004e5e80
test eax, eax
je 0x4e77b0
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x10]
call eax
push edi
mov ecx, ebx
mov ebp, edx
mov esi, eax
call fcn.004e5d80
test eax, eax
je 0x4e76b3
xor ecx, ecx
jmp 0x4e7690
mov al, byte [ecx + 0x515038]
cmp al, byte [ebx + ecx + 0x14]
jne 0x4e76a2
inc ecx
cmp ecx, 4
jl 0x4e7690
cmp ecx, 4
je 0x4e766b
push edi
mov ecx, ebx
call fcn.004e5d80
test eax, eax
jne 0x4e7684
mov eax, dword [edi]
mov ecx, edi
push 0
push ebp
push esi
call dword [eax + 0xc]
mov eax, dword [edi]
lea ecx, [esp + 0x78]
push 0x12
push ecx
mov ecx, edi
call dword [eax + 8]
cdq
test edx, edx
jne 0x4e76da
cmp eax, 0x12
jb 0x4e77b0
movzx eax, byte [esp + 0x79]
shl ax, 8
movzx edx, ax
movzx eax, byte [esp + 0x78]
or edx, eax
inc edx
mov dword [ebx + 0x64b42c], edx
lea eax, [edx - 1]
mov dword [ebx + 0x64b430], eax
cmp edx, 0x10000
jae 0x4e772b
movzx eax, byte [esp + 0x7b]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esp + 0x7a]
or ecx, eax
cmp ecx, edx
jbe 0x4e772b
mov dword [ebx + 0x64b42c], 0
jmp 0x4e77b0
movzx ecx, byte [esp + 0x89]
movzx eax, byte [esp + 0x88]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [ebx + 0x64b4b0], ax
test ax, ax
je 0x4e77b0
inc eax
push eax
call fcn.004f2e54
mov ecx, eax
add esp, 4
mov dword [ebx + 0x64b4b4], ecx
test ecx, ecx
jne 0x4e7771
mov eax, 4
jmp 0x4e821f
movzx eax, word [ebx + 0x64b4b0]
mov edx, dword [edi]
movzx esi, word [ebx + 0x64b4b0]
push eax
push ecx
mov ecx, edi
call dword [edx + 8]
cmp eax, esi
je 0x4e77a6
push dword [ebx + 0x64b4b4]
call fcn.004f252e
add esp, 4
mov dword [ebx + 0x64b4b4], 0
jmp 0x4e77b0
mov eax, dword [ebx + 0x64b4b4]
mov byte [esi + eax], 0
cmp dword [ebx + 0x64b42c], 0
jne 0x4e7894
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
push 0
call dword [eax + 0xc]
push edi
mov ecx, ebx
call fcn.004e5d80
mov esi, eax
test esi, esi
je 0x4e7894
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x10]
call eax
mov dword [ebx + 0x64b438], eax
mov ebp, edx
mov dword [ebx + 0x64b43c], edx
cmp eax, 4
jne 0x4e7822
test ebp, ebp
jne 0x4e7824
push 0x515040
lea eax, [ebx + 0x14]
mov ecx, ebx
push eax
call fcn.004e5f40
test eax, eax
je 0x4e781c
push edi
mov ecx, ebx
call fcn.004e5d80
mov esi, eax
jmp 0x4e784b
mov eax, dword [ebx + 0x64b438]
test ebp, ebp
ja 0x4e784b
jb 0x4e782d
cmp eax, 4
ja 0x4e784b
push 0x515040
lea eax, [ebx + 0x14]
mov ecx, ebx
push eax
call fcn.004e5f40
test eax, eax
je 0x4e784b
mov dword [ebx + 0x64b42c], 0x1869f
test esi, esi
je 0x4e7894
cmp dword [ebx + 0x64b42c], 0
jne 0x4e7894
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x10]
call eax
mov dword [ebx + 0x64b438], eax
mov dword [ebx + 0x64b43c], edx
cmp eax, 8
jne 0x4e7894
test edx, edx
jne 0x4e7894
push 0x515030
lea eax, [ebx + 0x14]
mov ecx, ebx
push eax
call fcn.004e5f40
test eax, eax
je 0x4e7894
mov dword [ebx + 0x64b42c], 1
cmp dword [ebx + 0x64b3e8], 0
jne 0x4e78a7
mov dword [ebx + 0x64b42c], 1
cmp dword [ebx + 0x64b42c], 0
jne 0x4e78ba
mov dword [ebx + 0x64b42c], 1
cmp dword [ebx + 0x64b42c], 0xf4240
jne 0x4e78e6
mov dword [ebx + 0x64b42c], 1
cmp dword [ebx + 0x64b42c], 0xf4240
jne 0x4e78e6
mov dword [ebx + 0x64b42c], 0x186a0
xor ebp, ebp
cmp dword [ebx + 0x64b3e8], 0
je 0x4e78f8
mov ecx, edi
call fcn.00467b10
cmp dword [ebx + 0x64b42c], 0
mov dword [ebx + 0x64b430], 0
jbe 0x4e8200
xor esi, esi
push dword [ebx + 0x64b430]
mov ecx, ebx
push dword [ebx + 0x64b420]
call fcn.004e1800
cmp dword [ebx + 0x649384], 0xffffffff
mov ecx, eax
mov dword [esp + 0x1c], ecx
jne 0x4e7994
mov eax, dword [edi]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 4]
call eax
test al, al
jne 0x4e7994
push dword [ebx + 0x64b430]
mov ecx, ebx
call fcn.004e0390
cmp eax, 9
je 0x4e8272
cmp eax, 2
je 0x4e826b
cmp eax, 3
je 0x4e81e8
push dword [ebx + 0x64b430]
mov ecx, ebx
push dword [ebx + 0x64b420]
call fcn.004e1800
mov ecx, eax
mov eax, dword [edi]
push 0
mov dword [esp + 0x20], ecx
push ecx
mov eax, dword [eax + 4]
mov ecx, edi
call eax
test al, al
je 0x4e7943
push edi
mov ecx, ebx
call fcn.004e5d80
test eax, eax
je 0x4e81d0
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x10]
call eax
mov dword [ebx + 0x64b438], eax
xor ecx, ecx
mov dword [ebx + 0x64b43c], edx
jmp 0x4e79c0
mov al, byte [ebx + ecx + 0x14]
cmp al, byte [ecx + 0x515038]
jne 0x4e79d2
inc ecx
cmp ecx, 4
jl 0x4e79c0
cmp ecx, 4
je 0x4e81bc
xor ecx, ecx
lea ecx, [ecx]
mov al, byte [ebx + ecx + 0x14]
cmp al, byte [ecx + 0x515048]
jne 0x4e79f2
inc ecx
cmp ecx, 4
jl 0x4e79e0
cmp ecx, 4
je 0x4e81bc
xor ecx, ecx
lea ecx, [ecx]
mov al, byte [ebx + ecx + 0x14]
cmp al, byte [ecx + 0x515050]
jne 0x4e7a12
inc ecx
cmp ecx, 4
jl 0x4e7a00
cmp ecx, 4
je 0x4e81bc
xor ecx, ecx
lea ecx, [ecx]
mov al, byte [ebx + ecx + 0x14]
cmp al, byte [ecx + 0x515030]
jne 0x4e7a32
inc ecx
cmp ecx, 4
jl 0x4e7a20
cmp ecx, 4
jne 0x4e7b13
push 0x68
call fcn.004f2e54
mov esi, eax
add esp, 4
test esi, esi
je 0x4e7767
xor eax, eax
mov ecx, ebx
push esi
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov word [esi + 0x20], ax
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], eax
mov word [esi + 0x2c], ax
mov dword [esi + 0x38], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
call fcn.004e9420
mov ecx, dword [esi + 0x54]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4e7ac6
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0x69
mov dword [esp + 0x6c], 1
call fcn.00490250
call fcn.004913d0
call fcn.004913e0
test al, al
jne 0x4e8287
mov eax, dword [esp + 0x14]
xor ebp, ebp
cmp eax, 2
je 0x4e81cc
test eax, eax
jne 0x4e81bc
inc dword [ebx + 0x64b4ac]
lea eax, [ebx + 0x64b4a8]
cmp dword [eax], ebp
je 0x4e7b03
mov eax, dword [esp + 0x20]
mov dword [eax], esi
lea eax, [esi + 0x64]
mov dword [esp + 0x20], eax
mov dword [eax], ebp
jmp 0x4e81bc
xor ecx, ecx
jmp 0x4e7b20
mov al, byte [ebx + ecx + 0x14]
cmp al, byte [ecx + 0x515058]
jne 0x4e7b32
inc ecx
cmp ecx, 4
jl 0x4e7b20
cmp ecx, 4
jne 0x4e8238
test ebp, ebp
jne 0x4e7ba7
mov ecx, dword [ebx + 0x64b4ac]
test ecx, ecx
je 0x4e7ba7
lea edx, [ecx*4]
mov eax, edx
shr eax, 2
cmp eax, ecx
jne 0x4e7767
push edx
call fcn.004f2e54
add esp, 4
mov dword [ebx + 0x64b4b8], eax
test eax, eax
je 0x4e7767
mov ecx, dword [ebx + 0x64b4a8]
test ecx, ecx
je 0x4e7b8c
mov edi, edi
mov dword [eax], ecx
lea eax, [eax + 4]
mov ecx, dword [ecx + 0x64]
test ecx, ecx
jne 0x4e7b80
push 0x4e9dd0
push 4
push dword [ebx + 0x64b4ac]
push dword [ebx + 0x64b4b8]
call fcn.004f68a0
add esp, 0x10
mov eax, dword [edi]
lea ecx, [esp + 0x78]
push 0x2a
push ecx
mov ebp, 1
mov ecx, edi
mov dword [esp + 0x18], ebp
call dword [eax + 8]
cmp eax, 0x2a
jne 0x4e81bc
push 0x68
call fcn.004f2e54
mov esi, eax
add esp, 4
test esi, esi
je 0x4e7767
movzx ecx, byte [esp + 0x79]
movzx eax, byte [esp + 0x78]
shl cx, 8
or cx, ax
mov word [esi], cx
movzx ecx, byte [esp + 0x7b]
movzx eax, byte [esp + 0x7a]
shl cx, 8
or cx, ax
mov word [esi + 2], cx
movzx ecx, byte [esp + 0x7d]
movzx eax, byte [esp + 0x7c]
shl cx, 8
or cx, ax
mov word [esi + 4], cx
movzx ecx, byte [esp + 0x7f]
movzx eax, byte [esp + 0x7e]
shl cx, 8
or cx, ax
mov word [esi + 6], cx
movzx eax, byte [esp + 0x83]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esp + 0x82]
or ecx, eax
movzx eax, byte [esp + 0x81]
shl ax, 8
movzx eax, ax
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x80]
or ecx, eax
mov dword [esi + 8], ecx
movzx eax, byte [esp + 0x87]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esp + 0x86]
or ecx, eax
movzx eax, byte [esp + 0x85]
shl ax, 8
shl ecx, 0x10
movzx eax, ax
or ecx, eax
movzx eax, byte [esp + 0x84]
or ecx, eax
mov dword [esi + 0xc], ecx
movzx eax, byte [esp + 0x8b]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esp + 0x8a]
or ecx, eax
movzx eax, byte [esp + 0x89]
shl ax, 8
shl ecx, 0x10
movzx eax, ax
or ecx, eax
movzx eax, byte [esp + 0x88]
or ecx, eax
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], ecx
movzx eax, byte [esp + 0x8f]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esp + 0x8e]
or ecx, eax
movzx eax, byte [esp + 0x8d]
shl ecx, 0x10
shl ax, 8
movzx eax, ax
or ecx, eax
movzx eax, byte [esp + 0x8c]
or ecx, eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], ecx
movzx ecx, byte [esp + 0x91]
movzx eax, byte [esp + 0x90]
shl cx, 8
or cx, ax
mov word [esi + 0x20], cx
movzx ecx, byte [esp + 0x93]
shl cx, 8
movzx eax, byte [esp + 0x92]
lea ebp, [esi + 0x48]
or cx, ax
mov word [esi + 0x24], cx
movzx ecx, byte [esp + 0x95]
movzx eax, byte [esp + 0x94]
shl cx, 8
or cx, ax
mov word [esi + 0x26], cx
movzx eax, byte [esp + 0x97]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esp + 0x96]
or ecx, eax
mov dword [esi + 0x28], ecx
movzx ecx, byte [esp + 0x99]
movzx eax, byte [esp + 0x98]
shl cx, 8
or cx, ax
mov word [esi + 0x2c], cx
movzx eax, byte [esp + 0x9d]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esp + 0x9c]
or ecx, eax
movzx eax, byte [esp + 0x9b]
shl ax, 8
movzx eax, ax
shl ecx, 0x10
or ecx, eax
movzx eax, byte [esp + 0x9a]
or ecx, eax
mov dword [esi + 0x38], ecx
movzx eax, byte [esp + 0xa1]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esp + 0xa0]
or ecx, eax
movzx eax, byte [esp + 0x9f]
shl ax, 8
shl ecx, 0x10
movzx eax, ax
or ecx, eax
movzx eax, byte [esp + 0x9e]
or ecx, eax
mov dword [esi + 0x34], 0
movzx eax, word [esi + 0x20]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x40], 0
mov dword [esi + 0x3c], 0
mov dword [ebp], 0
mov dword [esi + 0x54], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x4c], 0
test ax, ax
je 0x4e81b8
inc eax
push eax
call fcn.004f2e54
add esp, 4
mov dword [ebp], eax
test eax, eax
je 0x4e7767
movzx eax, word [esi + 0x24]
test ax, ax
je 0x4e7e94
inc eax
push eax
call fcn.004f2e54
add esp, 4
mov dword [esi + 0x40], eax
test eax, eax
je 0x4e7767
movzx eax, word [esi + 0x26]
test ax, ax
je 0x4e7eb2
inc eax
push eax
call fcn.004f2e54
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x4e7767
movzx eax, word [esi + 0x20]
mov ecx, edi
mov edx, dword [edi]
push eax
push dword [ebp]
call dword [edx + 8]
movzx ecx, word [esi + 0x20]
cmp eax, ecx
jne 0x4e81b8
movzx eax, word [esi + 0x24]
test ax, ax
je 0x4e7eed
mov edx, dword [edi]
mov ecx, edi
push eax
push dword [esi + 0x40]
call dword [edx + 8]
movzx ecx, word [esi + 0x24]
cmp eax, ecx
jne 0x4e81b8
movzx eax, word [esi + 0x26]
test ax, ax
je 0x4e7f0d
mov edx, dword [edi]
mov ecx, edi
push eax
push dword [esi + 0x44]
call dword [edx + 8]
movzx ecx, word [esi + 0x26]
cmp eax, ecx
jne 0x4e81b8
movzx ecx, word [esi + 0x20]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
cmp dword [esi + 0x4c], 0
jne 0x4e7f4e
mov eax, 0x800
test word [esi + 4], ax
je 0x4e7f46
push dword [ebp]
call fcn.004f8cee
add esp, 4
mov dword [esi + 0x4c], eax
test eax, eax
jne 0x4e7f4e
push 4
mov ecx, ebx
call fcn.004e2f40
jmp 0x4e7f4e
push esi
mov ecx, ebx
call fcn.004e6e10
movzx ecx, word [esi]
xor edi, edi
movzx eax, cl
push eax
shr ecx, 8
push ecx
push ebp
mov ecx, ebx
call fcn.004e4c10
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x4e7f77
push eax
mov ecx, ebx
call fcn.004eb040
mov dword [esi + 0x54], eax
jmp 0x4e7fb8
push dword [ebp]
call fcn.004f8cee
add esp, 4
mov edi, eax
push edi
push edi
call dword [sym.imp.USER32.dll_OemToCharA]
push edi
mov ecx, ebx
call fcn.004eae10
push edi
mov dword [esp + 0x1c], eax
call fcn.004f252e
add esp, 4
mov ecx, ebx
push dword [ebp]
call fcn.004eae10
mov edi, dword [esp + 0x18]
mov dword [esi + 0x54], eax
mov eax, edi
test edi, edi
jne 0x4e7fbb
mov eax, dword [esi + 0x54]
push eax
mov ecx, ebx
call fcn.004eb970
mov ebp, eax
test edi, edi
je 0x4e7fd2
push edi
call fcn.004f252e
add esp, 4
test ebp, ebp
je 0x4e8149
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 8]
jne 0x4e8149
cmp dword [esi + 0x4c], 0
je 0x4e8011
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x4e7ffc
push eax
call fcn.004f252e
add esp, 4
mov eax, dword [esi + 0x4c]
mov dword [ebp + 0x4c], eax
mov ax, word [esi + 4]
mov dword [esi + 0x4c], 0
mov word [ebp + 4], ax
mov eax, dword [ebp + 0x48]
test eax, eax
je 0x4e8021
push eax
call fcn.004f252e
add esp, 4
mov eax, dword [esi + 0x48]
mov dword [ebp + 0x48], eax
mov dword [esi + 0x48], 0
mov eax, dword [ebp + 0x54]
test eax, eax
je 0x4e803e
push eax
call fcn.004f252e
add esp, 4
mov eax, dword [ebp + 0x4c]
mov ecx, ebx
test eax, eax
je 0x4e804f
push eax
call fcn.004eb040
jmp 0x4e8057
push dword [ebp + 0x48]
call fcn.004eae10
mov dword [ebp + 0x54], eax
lea ecx, [ebx + 0x64835c]
movzx eax, word [esi]
mov word [ebp], ax
movzx eax, word [esi + 0x24]
mov word [ebp + 0x24], ax
movzx eax, word [esi + 0x26]
mov word [ebp + 0x26], ax
mov eax, dword [esi + 0x40]
mov dword [ebp + 0x40], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x40], 0
mov dword [ebp + 0x44], eax
movzx eax, word [esi + 0x2c]
mov dword [esi + 0x44], 0
mov word [ebp + 0x2c], ax
mov eax, dword [esi + 0x38]
mov dword [ebp + 0x38], eax
mov eax, dword [ebx + 0x64835c]
mov eax, dword [eax + 0x10]
call eax
mov edi, dword [ebx + 0x64835c]
lea ecx, [ebx + 0x64835c]
push 0
push dword [ebp + 0x34]
mov dword [esp + 0x20], eax
push dword [ebp + 0x30]
mov dword [esp + 0x30], edx
call dword [edi + 0xc]
movzx eax, word [ebp + 0x22]
mov ecx, ebx
push eax
push dword [ebp + 0x3c]
push 1
call fcn.004e5ee0
neg eax
mov ecx, ebx
push 1
sbb eax, eax
neg eax
push ebp
mov dword [ebx + 0x64b3f4], eax
call fcn.004e69b0
push dword [ebp + 0x54]
push 0x69
call fcn.00412080
call fcn.004913d0
call fcn.004913e0
test al, al
jne 0x4e8280
mov ebp, dword [esp + 0x24]
lea ecx, [ebx + 0x64835c]
mov eax, dword [ebx + 0x64835c]
push 0
push ebp
push dword [esp + 0x20]
call dword [eax + 0xc]
mov eax, dword [ebx + 0x64835c]
lea ecx, [ebx + 0x64835c]
mov eax, dword [eax + 0x10]
call eax
cmp dword [esp + 0x18], eax
jne 0x4e8295
cmp ebp, edx
jne 0x4e8295
mov eax, dword [esi + 0x48]
test eax, eax
je 0x4e8159
push eax
call fcn.004f252e
add esp, 4
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x4e8169
push eax
call fcn.004f252e
add esp, 4
mov eax, dword [esi + 0x40]
test eax, eax
je 0x4e8179
push eax
call fcn.004f252e
add esp, 4
mov eax, dword [esi + 0x44]
test eax, eax
je 0x4e8189
push eax
call fcn.004f252e
add esp, 4
mov eax, dword [esi + 0x54]
test eax, eax
je 0x4e8199
push eax
call fcn.004f252e
add esp, 4
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x4e81a9
push eax
call fcn.004f252e
add esp, 4
push esi
call fcn.004f252e
add esp, 4
lea edi, [ebx + 0x649380]
mov ebp, dword [esp + 0x10]
push edi
mov ecx, ebx
call fcn.004e5d80
test eax, eax
jne 0x4e79a4
mov esi, dword [esp + 0x14]
mov ecx, edi
call fcn.00467b10
push dword [esp + 0x1c]
call fcn.004f252e
add esp, 4
cmp esi, 2
je 0x4e8200
inc dword [ebx + 0x64b430]
mov eax, dword [ebx + 0x64b430]
cmp eax, dword [ebx + 0x64b42c]
jb 0x4e7911
mov eax, dword [ebx + 0x64b4b8]
test eax, eax
je 0x4e821d
push eax
call fcn.004f252e
add esp, 4
mov dword [ebx + 0x64b4b8], 0
xor eax, eax
mov ecx, dword [esp + 0xa4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004ebbd8
add esp, 0x98
ret
cmp dword [ebx + 0x64b4a8], 0
jne 0x4e81bc
xor ecx, ecx
jmp 0x4e8250
mov al, byte [ebx + ecx + 0x14]
cmp al, byte [ecx + str.PK_a_b]
jne 0x4e81bc
inc ecx
cmp ecx, 4
jl 0x4e8250
jmp 0x4e81bc
mov eax, 2
jmp 0x4e821f
push dword [esp + 0x1c]
mov ecx, 0x56df60
call fcn.00462f70
mov eax, 9
jmp 0x4e821f
mov ecx, edi
call fcn.00467b10
mov eax, 9
jmp 0x4e821f
mov ecx, dword [esp + 0x28]
call fcn.00467b10
mov eax, 0xe
jmp 0x4e821f