Function at 0x4b8290
Capabilities:
Enumerate pe sections
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4d5fe6
mov eax, dword fs:[0]
push eax
mov eax, 0x43c8
call fcn.004c0c80
mov eax, dword [0x4eb984]
xor eax, esp
mov dword [esp + 0x43c4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eb984]
xor eax, esp
push eax
lea eax, [esp + 0x43dc]
mov dword fs:[0], eax
mov ecx, 0x520d78
call fcn.0044b1c0
xor ebx, ebx
mov dword [0x520c68], ebx
mov ecx, 0x4d7ae4
mov eax, 0x54fd32
jmp 0x4b82f0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4b8316
cmp dx, bx
je 0x4b8312
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4b8316
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x4b82f0
xor eax, eax
jmp 0x4b831b
sbb eax, eax
sbb eax, 0xffffffff
mov ebp, 2
cmp eax, ebx
jne 0x4b832a
mov dword [0x520c68], ebp
xor eax, eax
cmp byte [0x54bbea], bl
mov edi, 1
setne al
cmp word [0x54fd32], 0x52
mov dword [0x520cdc], ebx
mov dword [0x5890a8], ebx
mov dword [0x5890ac], ebx
mov dword [0x5890b0], ebx
mov dword [0x5890b4], ebx
mov dword [0x520c6c], eax
mov dword [0x51f830], ebx
mov dword [0x520c5c], ebx
mov dword [0x520c60], ebx
mov dword [0x4e9f44], edi
mov dword [0x520c64], ebx
mov dword [0x520c70], ebx
jne 0x4b839a
cmp word [0x54fd34], 0x4e
mov byte [esp + 0x16], 1
je 0x4b839e
mov byte [esp + 0x16], bl
mov ecx, dword [0x54ba6c]
mov eax, dword [0x54ba98]
neg ecx
sbb ecx, ecx
mov dword [0x4e9f48], ecx
mov ecx, dword [0x54ba9c]
mov edx, eax
or edx, ecx
mov dword [0x520c74], ebx
mov dword [0x520cbc], ebx
mov dword [0x520c78], ebx
mov dword [0x520c80], ebx
mov dword [0x520c88], ebx
mov dword [0x520c8c], ebx
mov dword [0x520c90], ebx
mov dword [0x520c98], ebx
mov dword [0x520c9c], ebx
mov dword [0x520ca0], ebx
mov dword [0x520ca4], ebx
mov dword [0x4e9f4c], edi
mov dword [0x520c94], ebx
mov dword [0x4e9f50], edi
mov dword [0x4e9f54], edi
mov dword [0x520ca8], ebx
mov dword [0x4e9f58], edi
mov dword [0x4e9f5c], 0xffffffff
mov dword [0x520cb4], ebx
mov dword [0x520cb8], ebx
mov dword [0x520cc0], ebx
mov dword [0x520cc4], ebx
mov dword [0x520d74], ebx
mov dword [0x4e9f64], 0x520d74
mov dword [0x51f844], ebx
mov dword [0x520cc8], ebx
mov dword [0x520ccc], ebx
mov dword [0x520cd0], ebx
mov dword [0x520cd8], ebx
mov dword [0x520cd4], ebx
mov dword [0x520ce4], ebx
mov dword [0x520ce8], ebx
mov dword [0x520cf0], ebx
mov dword [0x520cf4], ebx
mov dword [0x520cec], ebx
mov dword [0x520d18], ebx
mov dword [0x520d20], ebx
mov dword [0x520d24], ebx
mov dword [0x520cf8], ebx
mov dword [0x520cfc], ebx
mov dword [0x4e9f60], 0xffffffff
mov dword [0x520d00], ebx
mov dword [0x520d04], ebx
mov dword [0x520d08], ebx
mov dword [0x520d0c], ebx
mov dword [0x520d10], ebx
mov dword [0x520d14], ebx
mov dword [0x520d1c], ebx
mov dword [0x520d28], ebx
mov dword [0x520d30], ebx
mov dword [0x520d34], ebx
mov dword [0x520d38], ebx
mov dword [0x520d3c], ebx
mov dword [0x520d2c], ebx
mov dword [0x520d40], ebx
mov dword [0x520d48], ebx
mov dword [0x520d4c], ebx
je 0x4b858a
cmp eax, 0x7fffffff
jne 0x4b852c
cmp ecx, eax
je 0x4b858a
push 0x550d52
call fcn.0043ca60
test al, al
jne 0x4b858a
mov eax, dword [0x54ba98]
mov ecx, dword [0x54ba9c]
mov dword [0x520d48], eax
mov dword [0x520d4c], ecx
mov dword [0x520d40], edi
cmp word [0x546948], bx
je 0x4b858a
push 0x4d781c
push 0x550d52
call fcn.00460550
test al, al
je 0x4b8581
push 0x4d7b60
push 0x550d52
call fcn.00461820
xor edx, edx
mov word [0x546948], dx
mov dword [0x520d50], ebx
mov dword [0x520d54], ebx
mov dword [0x520d58], ebx
mov dword [0x520d5c], ebx
mov dword [0x520d64], ebx
mov dword [0x520c7c], ebx
call fcn.004c51cc
add eax, 0x20
mov dword [0x51f860], eax
call fcn.004c08f0
mov dword [0x520cc8], ebx
mov dword [0x520ccc], ebx
cmp dword [0x520d40], ebx
je 0x4b861b
push 0x4d7b60
push 0x550d52
call fcn.00460550
test al, al
jne 0x4b861b
mov eax, 0x550d52
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, ebp
cmp cx, bx
jne 0x4b85f0
sub eax, edx
sar eax, 1
cmp eax, 0x7fa
jbe 0x4b860c
push 5
call fcn.004b7c00
push 0x4d7b60
push 0x550d52
call fcn.00461820
push 0x550d52
call fcn.004c2b4c
add esp, 4
mov dword [0x51f844], eax
cmp eax, ebx
jne 0x4b8638
push 4
call fcn.004b7c00
cmp dword [0x520c68], ebx
je 0x4b8695
push eax
call fcn.00460530
mov esi, eax
cmp esi, ebx
je 0x4b8690
cmp word [esi], 0x2e
jne 0x4b8690
movzx eax, word [esi + 2]
push eax
call fcn.004c3934
add esp, 4
cmp eax, 0x5a
jne 0x4b8690
movzx ecx, word [esi + 4]
push ecx
call fcn.0047ec30
test al, al
je 0x4b8690
movzx edx, word [esi + 6]
push edx
call fcn.0047ec30
test al, al
je 0x4b8690
mov eax, dword [0x51f844]
push 0x4d7b60
push eax
call fcn.00461820
mov eax, dword [0x51f844]
cmp dword [0x520cd4], ebx
jne 0x4b86bb
push eax
call fcn.004c2b4c
add esp, 4
mov dword [0x520cd4], eax
cmp eax, ebx
jne 0x4b86b6
push 4
call fcn.004b7c00
mov eax, dword [0x51f844]
push eax
call fcn.004c2b4c
add esp, 4
mov dword [0x520cdc], eax
cmp eax, ebx
jne 0x4b86d4
push 4
call fcn.004b7c00
mov dx, word [0x54fd32]
cmp dx, 0x44
jne 0x4b8735
or eax, 0xffffffff
cmp dword [0x4e9f48], eax
jne 0x4b8715
cmp dword [0x520c60], ebx
jne 0x4b8715
cmp dword [0x520c5c], ebx
jne 0x4b8715
cmp byte [0x54aa5c], bl
jne 0x4b8715
cmp dword [0x5890a8], ebx
jne 0x4b8715
cmp word [0x54894e], bx
je 0x4b8735
xor ecx, ecx
mov dword [0x4e9f48], eax
mov dword [0x520c60], ebx
mov dword [0x520c5c], ebx
mov dword [0x5890a8], ebx
mov word [0x54894e], cx
mov eax, dword [0x520c68]
mov ecx, dword [0x520c70]
cmp eax, edi
je 0x4b8748
cmp eax, ebp
jne 0x4b8753
cmp ecx, ebx
je 0x4b8753
xor eax, eax
mov dword [0x520c68], eax
cmp dword [0x520d40], ebx
je 0x4b876a
cmp eax, ebx
jne 0x4b8763
cmp ecx, ebx
je 0x4b876a
push 0x10
call fcn.004b7c00
cmp dx, 0x41
je 0x4b877f
cmp dword [0x520c6c], ebx
je 0x4b877f
push 0x10
call fcn.004b7c00
lea ecx, [esp + 0x2368]
call fcn.00401510
push 0x1048
lea edx, [esp + 0x236c]
push ebx
push edx
call fcn.004c16b0
mov ecx, dword [0x51f844]
add esp, 0xc
push ebx
lea eax, [esp + 0x236c]
push eax
push ecx
call fcn.00441530
cmp dword [0x520c68], ebp
jne 0x4b89d2
push 0x814
lea edx, [esp + 0x33b4]
push edx
push str.rebuilt.
push 0x54794e
call fcn.0045ff20
mov eax, dword [0x51f844]
push 0x814
push eax
call fcn.00460330
push eax
lea ecx, [esp + 0x33b8]
push ecx
call fcn.0047efb0
lea edx, [esp + 0x33b0]
push edx
push 0x267
call fcn.004750b0
push eax
call fcn.0049f9b0
add esp, 8
lea eax, [esp + 0x33b0]
push eax
call fcn.0043ca60
test al, al
je 0x4b886c
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea ecx, [esp + 0x33c0]
push ecx
push ebx
call fcn.0040b740
cmp al, 0x4e
je 0x4b89c4
cmp al, 0x43
je 0x4b89c4
lea edx, [esp + 0x33b0]
push edx
call fcn.0043cb80
lea eax, [esp + 0x33b0]
push eax
call fcn.0043c500
lea edx, [esp + 0x33b0]
push edx
mov dword [0x51f848], ebx
mov dword [0x51f84c], ebx
call fcn.004c2b4c
add esp, 4
mov dword [0x520cc8], eax
cmp eax, ebx
jne 0x4b8898
push 4
call fcn.004b7c00
push 0x4d94b0
push eax
call fcn.004c3cf8
add esp, 8
mov dword [0x520ccc], eax
cmp eax, ebx
jne 0x4b88c7
mov eax, dword [0x520cc8]
push eax
push ebx
mov ecx, 0x51f7e8
call fcn.00433b30
push 0xa
call fcn.004b7c00
call fcn.004bf6a0
cmp eax, ebx
je 0x4b88d6
push eax
call fcn.004b7c00
mov esi, dword [0x520d68]
mov ecx, dword [0x51f848]
mov eax, dword [0x51f84c]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp esi, ebx
je 0x4b893a
push esi
call fcn.004bd1a0
cmp eax, ebx
jne 0x4b88d0
movzx edx, word [esi + 0x24]
movzx ecx, word [esi + 0x26]
movzx eax, word [esi + 0x20]
add ecx, edx
lea eax, [ecx + eax + 0x2e]
mov ecx, dword [0x51f848]
cdq
add ecx, eax
mov eax, dword [0x51f84c]
adc eax, edx
add edi, 1
mov dword [0x51f848], ecx
mov dword [0x51f84c], eax
mov esi, dword [esi + 0x78]
adc ebp, ebx
cmp esi, ebx
jne 0x4b88f7
mov esi, dword [0x520d70]
mov edx, dword [esp + 0x18]
push esi
movzx esi, word [0x51f83c]
push esi
mov esi, dword [esp + 0x24]
push esi
sub ecx, edx
sbb eax, dword [esp + 0x28]
push edx
push eax
push ecx
push ebp
push edi
call fcn.004bd590
cmp eax, ebx
je 0x4b896c
push eax
call fcn.004b7c00
mov ecx, dword [0x520ccc]
push ecx
call fcn.004c34b2
add esp, 4
test eax, eax
je 0x4b8998
mov edx, dword [0x520cc8]
push edx
push ebx
mov ecx, 0x51f7e8
call fcn.00433ba0
push 0xa
call fcn.004b7c00
mov eax, dword [0x520cd0]
cmp eax, ebx
je 0x4b89b0
push eax
call fcn.004c34b2
add esp, 4
mov dword [0x520cd0], ebx
mov eax, dword [0x520cc8]
push eax
call fcn.004c1404
add esp, 4
mov dword [0x520cc8], ebx
lea ecx, [esp + 0x2368]
push ecx
push ebx
jmp 0x4b9d77
call fcn.004bf6a0
cmp eax, ebx
je 0x4b89e1
push eax
call fcn.004b7c00
mov eax, dword [0x520d40]
cmp eax, 0xffffffff
jne 0x4b89f3
mov dword [0x520d40], ebx
jmp 0x4b8a6a
cmp dword [0x520c68], ebx
jne 0x4b8a6a
cmp eax, ebx
jne 0x4b8a6a
cmp dword [0x520ce4], edi
jbe 0x4b8a6a
mov edx, dword [0x520cd4]
push ebx
push edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.0043eb50
push ebx
lea ecx, [esp + 0x1c]
push ecx
push ebx
push eax
mov dword [0x520cd8], eax
call fcn.00494ce0
test eax, eax
jne 0x4b8a3c
mov eax, 0x12
jmp 0x4b9d7c
mov ecx, dword [0x520cd8]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
mov dword [0x520d40], edi
mov dword [0x520d48], edx
mov dword [0x520d4c], eax
call fcn.004c1404
add esp, 4
mov dword [0x520cd8], ebx
mov dword [0x520ce8], ebx
cmp byte [0x54bad0], bl
je 0x4b8ad2
mov edx, dword [0x51f844]
push edx
call fcn.00460260
test al, al
je 0x4b8ad2
movzx eax, word [0x54fd32]
push eax
push str.AFUM
call fcn.004c2207
add esp, 8
test eax, eax
je 0x4b8ad2
mov ecx, dword [0x51f844]
movzx edx, word [ecx]
push edx
lea eax, [esp + 0x33b4]
push 0x4d9438
push eax
mov edx, 0x800
call fcn.00495190
add esp, 0xc
lea ecx, [esp + 0x33b0]
push ecx
call fcn.0043d250
cmp word [0x54fd32], 0x44
jne 0x4b8af0
call fcn.004954b0
cmp eax, ebx
je 0x4b8af0
cmp eax, 0xffffffff
je 0x4b8af0
push eax
call fcn.004b7c00
cmp word [0x54fd32], 0x41
jne 0x4b8aff
call fcn.00495220
call fcn.0043dc60
cmp dword [0x51f840], ebx
je 0x4b8b1b
mov edx, dword [0x51f838]
push edx
call fcn.004c1404
add esp, 4
mov esi, dword [0x520d68]
xor ebp, ebp
mov dword [0x589098], ebx
mov dword [0x58909c], ebx
mov dword [0x5890a0], ebx
mov dword [0x5890a4], ebx
mov dword [esp + 0x1c], ebx
cmp esi, ebx
je 0x4b8da3
cmp dword [0x520c6c], ebx
je 0x4b8b63
cmp dword [esi + 0x6c], ebx
setne al
mov byte [esi + 0x74], al
cmp al, bl
jne 0x4b8b63
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp dword [esi + 0x6c], ebx
je 0x4b8d92
mov eax, dword [esi + 0x18]
add dword [0x5890a0], eax
mov ecx, dword [esi + 0x1c]
adc dword [0x5890a4], ecx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x30], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x34], eax
mov ax, word [0x54fd32]
cmp ax, 0x44
je 0x4b8cb2
cmp ax, 0x41
jne 0x4b8bb6
cmp byte [0x54ba8c], bl
jne 0x4b8bb6
cmp byte [0x54ba8b], bl
je 0x4b8cb2
cmp dword [esi + 0x60], ebx
jne 0x4b8bd6
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x4b8bca
push eax
call fcn.00494970
jmp 0x4b8bd3
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.00494900
mov dword [esi + 0x60], eax
mov ecx, dword [esi + 0x60]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x34]
push eax
push ebx
push ecx
call fcn.00494ce0
mov edi, eax
cmp edi, ebx
sete al
cmp al, bl
jne 0x4b8c36
cmp byte [0x54ba8c], bl
jne 0x4b8c05
cmp byte [0x54ba8b], bl
je 0x4b8c6f
lea edx, [esp + 0x38]
push edx
push esi
call fcn.00495150
test al, al
je 0x4b8c2c
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x64]
push ecx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, 1
setne al
jmp 0x4b8c32
cmp edi, dword [esi + 8]
setbe al
cmp al, bl
je 0x4b8c6f
mov edx, dword [0x5890a8]
neg edx
sbb edx, edx
xor eax, eax
and edx, 2
cmp edi, ebx
setne al
mov dword [esi + 0x6c], edx
mov dword [esi + 0x70], eax
cmp eax, ebx
je 0x4b8d92
mov eax, dword [esi + 0x18]
sub dword [0x5890a0], eax
mov ecx, dword [esi + 0x1c]
sbb dword [0x5890a4], ecx
jmp 0x4b8d92
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4b8ca0
cmp eax, 0xfffffffe
jne 0x4b8c8a
cmp ecx, 0xffffffff
je 0x4b8ca0
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x1c], eax
jmp 0x4b8d92
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
jmp 0x4b8d92
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp ax, 0x44
je 0x4b8d92
mov eax, dword [0x54ba68]
cmp eax, ebx
je 0x4b8d92
cmp eax, 2
sete byte [esp + 0x17]
cmp eax, 4
jne case.default.0x4b8d5b
mov edx, dword [esi + 0x60]
push 0x800
lea ecx, [esp + 0x33b4]
push ecx
push edx
call fcn.00460120
lea eax, [esp + 0x33b0]
push eax
mov edi, 2
call fcn.0045fe40
movzx ecx, word [eax]
push ecx
call fcn.0045fea0
test al, al
jne 0x4b8d53
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
push 7
push edx
push eax
push ecx
lea edx, [esp + 0x33c0]
push edx
push ebx
call fcn.0040b740
mov edx, dword [str.YNANC]
cbw
movzx eax, ax
movzx ecx, ax
push ecx
push edx
call fcn.004c11c0
sub eax, dword [str.YNANC]
add esp, 8
inc eax
mov edi, eax
add edi, 0xfffffffe
cmp edi, 3
ja case.default.0x4b8d5b
jmp dword [edi*4 + 0x4b9da4]
mov dword [0x54ba68], 1
jmp case.default.0x4b8d5b
mov dword [0x54ba68], 2
jmp case.0x4b8d5b.2
push 0xff
mov ecx, 0x51f7e8
call fcn.00433740
cmp byte [esp + 0x17], bl
je 0x4b8d92
mov dword [esi + 0x6c], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4b8b47
mov esi, dword [0x520d68]
mov edi, dword [0x520d74]
cmp edi, ebx
je 0x4b8e0c
mov eax, dword [edi + 0x20]
add dword [0x5890a0], eax
mov ecx, dword [edi + 0x24]
adc dword [0x5890a4], ecx
xor eax, eax
cmp word [0x54fd32], 0x44
je 0x4b8dfa
cmp byte [0x54ba8b], bl
jne 0x4b8ddf
mov edx, dword [edi + 0x14]
push ebx
push ebx
push ebx
push edx
call fcn.00494ce0
cmp word [0x54fd32], 0x44
je 0x4b8dfa
cmp byte [0x54ba8b], bl
jne 0x4b8dfa
cmp eax, ebx
je 0x4b8dfa
mov edi, dword [edi + 0x2c]
jmp 0x4b8e02
push edi
call fcn.0043db40
mov edi, eax
cmp edi, ebx
jne 0x4b8dad
mov esi, dword [0x520d68]
or ebp, dword [esp + 0x1c]
mov edx, dword [0x5890b4]
jne 0x4b8e6a
cmp dword [0x520d74], ebx
jne 0x4b8e6a
cmp byte [esp + 0x16], bl
jne 0x4b8e6a
mov edi, dword [0x520c68]
mov eax, dword [0x54bab8]
mov ebp, dword [0x520c70]
cmp esi, ebx
je 0x4b8eaf
cmp eax, 2
je 0x4b8e6a
mov cx, word [0x54fd32]
cmp cx, 0x53
je 0x4b8e6a
cmp edi, ebx
jne 0x4b8e6a
cmp ebp, ebx
jne 0x4b8e6a
cmp edx, ebx
jne 0x4b8e6a
cmp dword [0x5890a8], ebx
jne 0x4b8e6a
cmp word [0x54894e], bx
je 0x4b8eb6
mov ebp, 1
cmp esi, ebx
je 0x4b8f31
cmp dword [0x520ce4], ebp
je 0x4b8f31
mov eax, dword [0x51f858]
cmp eax, 4
jne 0x4b8f36
cmp dword [0x51f85c], ebx
jne 0x4b8f36
xor eax, eax
mov dword [0x51f858], eax
mov dword [0x51f85c], ebx
jmp 0x4b8f36
mov cx, word [0x54fd32]
cmp byte [0x54ba8c], bl
jne 0x4b8f22
cmp byte [0x54ba8b], bl
jne 0x4b8f22
cmp esi, ebx
jne 0x4b8ee2
cmp eax, 2
je 0x4b8edb
cmp edi, ebx
jne 0x4b8edb
cmp ebp, ebx
jne 0x4b8edb
cmp edx, ebx
je 0x4b8ee2
push 0xd
call fcn.004b7c00
cmp cx, 0x41
jne 0x4b8efb
push 0x340
call fcn.004750b0
push eax
mov eax, dword [0x51f844]
push eax
jmp 0x4b8f13
cmp cx, 0x44
jne 0x4b8f1b
push 0x347
call fcn.004750b0
mov ecx, dword [0x51f844]
push eax
push ecx
call fcn.004ace90
add esp, 8
push 0xc
call fcn.004b7c00
lea edx, [esp + 0x2368]
push edx
push 0xc
jmp 0x4b9d77
mov eax, dword [0x51f858]
cmp dword [0x5890b0], ebx
je 0x4b8f54
cmp esi, ebx
jne 0x4b8f54
mov ecx, eax
or ecx, dword [0x51f85c]
jne 0x4b8f54
mov dword [0x520ce0], ebx
jmp 0x4b8f98
mov edx, dword [0x51f844]
push edx
call fcn.0043c370
mov dword [0x520ce0], eax
cmp eax, 0xffffffff
jne 0x4b8f70
mov dword [0x520ce0], ebx
mov eax, dword [0x51f858]
cmp dword [0x520d68], ebx
jne 0x4b8f98
mov ecx, eax
or ecx, dword [0x51f85c]
jne 0x4b8f98
mov edx, dword [0x51f844]
push edx
call fcn.0043c500
mov eax, dword [0x51f858]
cmp dword [0x5890b4], ebx
je 0x4b8fad
xor eax, eax
mov dword [0x51f858], eax
mov dword [0x51f85c], ebx
or eax, dword [0x51f85c]
mov dword [0x51f848], ebx
mov dword [0x51f84c], ebx
je 0x4b9032
mov eax, dword [0x520cd4]
push ebx
push eax
call fcn.0043eb50
push 0x4d94b8
push eax
mov dword [0x520cd8], eax
call fcn.004c3cf8
add esp, 8
mov dword [0x520cd0], eax
cmp eax, ebx
jne 0x4b9032
lea esp, [esp]
push ebx
call fcn.0043f4a0
test eax, eax
jne 0x4b9050
mov ecx, dword [0x520cd8]
push ecx
call fcn.004c1404
mov edx, dword [0x520cd4]
add esp, 4
push ebp
push edx
call fcn.0043eb50
push 0x4d94b8
push eax
mov dword [0x520cd8], eax
call fcn.004c3cf8
add esp, 8
mov dword [0x520cd0], eax
cmp eax, ebx
je 0x4b8ff0
mov ecx, dword [0x51f844]
push ecx
call fcn.0043ca60
cmp al, bl
je 0x4b9068
mov edx, dword [0x51f844]
push edx
call fcn.0043ddd0
jmp 0x4b9076
mov eax, dword [0x520cd8]
push eax
push ebx
mov ecx, 0x51f7e8
call fcn.00433b00
push 9
call fcn.004b7c00
mov eax, dword [0x51f844]
push eax
call fcn.004c2b4c
add esp, 4
mov dword [0x520cc8], eax
cmp eax, ebx
jne 0x4b9086
push 4
call fcn.004b7c00
push 0x4d94b0
push eax
call fcn.004c3cf8
add esp, 8
mov dword [0x520ccc], eax
cmp eax, ebx
jne 0x4b90b6
mov ecx, dword [0x520cc8]
push ecx
push ebx
mov ecx, 0x51f7e8
call fcn.00433ba0
push 0xa
call fcn.004b7c00
push 0x4000
call fcn.004c1d07
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x4b90d2
push 4
call fcn.004b7c00
mov edx, dword [0x520ccc]
push 0x4000
push ebx
push eax
push edx
call fcn.004c5471
mov eax, dword [0x520ccc]
add esp, 0x10
push eax
mov dword [0x4e9f58], ebp
call fcn.004bfcc0
test eax, eax
jne 0x4b9109
mov dword [0x4e9f58], ebx
mov dword [0x520ca8], ebp
cmp word [0x546948], bx
je 0x4b92f3
push 0x546948
mov esi, 0x4d7ec0
call fcn.00460330
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4b914b
cmp cx, bx
je 0x4b9147
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4b914b
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4b9125
xor eax, eax
jmp 0x4b9150
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4b91df
push 0x4d94b8
push 0x546948
call fcn.0043c890
mov edi, eax
cmp edi, ebx
jne 0x4b9184
push 0x550d52
push ebx
mov ecx, 0x51f7e8
call fcn.00433b00
push 0x12
call fcn.004b7c00
push edi
push 0x1000
lea ecx, [esp + 0x33b8]
push ebp
push ecx
call fcn.004c4096
mov esi, eax
add esp, 0x10
cmp esi, ebx
jbe 0x4b91d6
push ebx
push esi
push ebp
lea edx, [esp + 0x33bc]
push edx
call fcn.0043edf0
cmp eax, esi
jne 0x4b92d1
push edi
push 0x1000
lea eax, [esp + 0x33b8]
push ebp
push eax
call fcn.004c4096
mov esi, eax
add esp, 0x10
cmp esi, ebx
ja 0x4b91a1
push edi
call fcn.004c34b2
add esp, 4
mov eax, dword [0x520cd0]
cmp eax, ebx
je 0x4b9202
push eax
call fcn.004c34b2
mov eax, dword [0x520cd8]
push eax
mov dword [0x520cd0], ebx
call fcn.004c1404
add esp, 8
mov ecx, dword [0x51f858]
mov edx, dword [0x51f85c]
mov dword [0x51f848], ecx
mov dword [0x51f84c], edx
cmp dword [0x520d40], ebx
je 0x4b9259
push ebx
push 4
push ebp
push 0x51f868
mov byte [0x51f868], 0x50
mov byte [0x51f869], 0x4b
mov byte [0x51f86a], 7
mov byte [0x51f86b], 8
call fcn.0043edf0
add dword [0x51f848], 4
adc dword [0x51f84c], ebx
cmp word [0x54fd32], 0x41
mov dword [esp + 0x2c], ebx
jne 0x4b9281
cmp dword [0x520d68], ebx
mov edx, dword [0x51f844]
setne al
movzx ecx, al
push ecx
push edx
push ebp
call fcn.0040a330
mov esi, dword [0x520d68]
mov edi, 0x520d68
mov dword [esp + 0x24], edi
cmp esi, ebx
je 0x4b9633
cmp dword [esi + 0x6c], ebp
jne 0x4b9497
cmp word [0x54fd32], 0x44
je 0x4b93ef
push esi
lea eax, [esp + 0x24]
push eax
call fcn.004be550
test eax, eax
je 0x4b9329
mov cx, word [esi + 4]
xor edx, edx
mov word [esi + 0x2e], cx
mov word [esi + 0x22], dx
jmp 0x4b938d
mov ecx, dword [0x520cc8]
push ecx
push ebx
mov ecx, 0x51f7e8
call fcn.00433ba0
push edi
call fcn.004c34b2
add esp, 4
push 0xe
call fcn.004b7c00
cmp dword [0x520cd0], ebx
je 0x4b9202
mov ecx, dword [0x51f858]
mov eax, dword [0x51f85c]
mov edx, ecx
or edx, eax
je 0x4b91df
push eax
push ecx
call fcn.0043f590
cmp eax, ebx
je 0x4b91df
push eax
call fcn.004b7c00
mov eax, dword [esp + 0x20]
mov cx, word [eax + 0x2e]
mov word [esi + 0x2e], cx
mov dx, word [eax + 0x22]
mov word [esi + 0x22], dx
mov ecx, dword [eax + 0x40]
mov dword [esi + 0x40], ecx
cmp word [eax + 0x20], bx
je 0x4b936f
mov edx, dword [eax + 0x4c]
push edx
call fcn.004c1404
mov eax, dword [esp + 0x24]
add esp, 4
cmp word [eax + 0x20], bx
je 0x4b936f
mov eax, dword [eax + 0x3c]
push eax
call fcn.004c1404
mov eax, dword [esp + 0x24]
add esp, 4
cmp dword [eax + 0x58], ebx
je 0x4b9384
mov ecx, dword [eax + 0x58]
push ecx
call fcn.004c1404
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004c1404
add esp, 4
mov edx, dword [esi + 0x60]
push ebx
push ebx
push ebp
push edx
push ebp
call fcn.0040a370
push esi
call fcn.004bfe90
cmp eax, ebx
je 0x4b93b2
cmp eax, 0x12
je 0x4b93c0
cmp eax, 0xffffffff
jne 0x4b9695
cmp eax, 0x12
je 0x4b93c0
cmp eax, 0xffffffff
jne 0x4b9622
mov eax, dword [esi + 0x60]
mov ecx, dword [0x51f844]
push eax
push ecx
mov ecx, 0x51f7e8
mov dword [esp + 0x34], ebp
call fcn.00433b00
push esi
call fcn.004bd990
cmp eax, ebx
jne 0x4b88d0
mov dword [esi + 0x6c], ebx
jmp 0x4b9622
cmp byte [0x535500], bl
jne 0x4b9633
mov edx, dword [esi + 0x54]
push ebx
push ebx
push edx
call fcn.0047f0a0
push eax
call fcn.0040b270
mov eax, dword [esi + 0x4c]
mov ebp, dword [esi + 0x78]
push eax
call fcn.004c1404
mov ecx, dword [esi + 0x50]
push ecx
call fcn.004c1404
mov edx, dword [esi + 0x54]
push edx
call fcn.004c1404
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebx
je 0x4b943d
push eax
call fcn.004c1404
add esp, 4
cmp word [esi + 0x22], bx
je 0x4b9453
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x4b9453
push eax
call fcn.004c1404
add esp, 4
cmp word [esi + 0x24], bx
je 0x4b946a
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x40]
je 0x4b946a
push eax
call fcn.004c1404
add esp, 4
cmp word [esi + 0x26], bx
je 0x4b947c
mov eax, dword [esi + 0x48]
push eax
call fcn.004c1404
add esp, 4
push esi
call fcn.004c1404
mov dword [edi], ebp
add esp, 4
dec dword [0x51f840]
mov ebp, 1
jmp 0x4b9629
cmp dword [0x520c6c], ebx
je 0x4b94a8
cmp byte [esi + 0x74], bl
je 0x4b9622
cmp word [0x54fd32], 0x44
jne 0x4b94c3
mov ecx, dword [esi + 0x54]
push ebp
push ebx
push ecx
call fcn.0047f0a0
push eax
call fcn.0040b270
mov edi, dword [0x520c68]
cmp byte [esp + 0x16], bl
je 0x4b960e
lea ecx, [esp + 0x68]
call fcn.00402730
mov dword [esp + 0x43e4], ebx
push 0x2300
lea edx, [esp + 0x6c]
push ebx
push edx
call fcn.004c16b0
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
call fcn.0049f190
movsx ecx, byte [eax]
push ecx
call fcn.0045fea0
mov edx, dword [esi + 8]
push edx
lea ecx, [esp + 0x109c]
mov byte [esp + 0x1b], al
call fcn.00482420
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
push 0x7ff
lea edx, [esp + 0x8c]
mov dword [esp + 0x10bc], eax
mov eax, dword [esi + 0x64]
push edx
push eax
mov dword [esp + 0x10c8], ecx
call fcn.00460120
lea ecx, [esp + 0x68]
push ecx
push 0x545938
call fcn.00461f20
test al, al
je 0x4b95fa
cmp byte [esp + 0x17], bl
je 0x4b9575
push 0x800
lea edx, [esp + 0x8c]
push edx
call fcn.0045fed0
push 0x800
push ebx
lea eax, [esp + 0x90]
push eax
call fcn.004601c0
push 0x800
lea ecx, [esp + 0x33b4]
push ecx
lea edx, [esp + 0x90]
push edx
call fcn.00486550
mov eax, dword [esi + 0x4c]
push eax
call fcn.004c1404
lea ecx, [esp + 0x33b4]
push ecx
call fcn.004d107b
mov edx, dword [esi + 0x64]
push edx
mov dword [esi + 0x4c], eax
call fcn.004c1404
lea eax, [esp + 0x94]
push eax
call fcn.004c2b4c
mov ecx, dword [esi + 0x58]
push ecx
mov dword [esi + 0x64], eax
call fcn.004c1404
add esp, 0x14
lea edx, [esp + 0x88]
push edx
call fcn.004949f0
mov dword [esi + 0x58], eax
mov dword [0x520c68], 3
mov dword [esp + 0x43e4], 0xffffffff
lea ecx, [esp + 0x68]
call fcn.00401a10
push esi
call fcn.004bd990
mov dword [0x520c68], edi
cmp eax, ebx
jne 0x4b88d0
lea edi, [esi + 0x78]
mov dword [esp + 0x24], edi
mov esi, dword [edi]
cmp esi, ebx
jne 0x4b9298
mov edi, dword [0x520d74]
cmp edi, ebx
je 0x4b97ef
cmp byte [0x535500], bl
jne 0x4b97ef
push 0x80
call fcn.004c1d07
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4b8631
mov dword [esi + 0x78], ebx
mov eax, dword [edi]
lea ebp, [esi + 0x78]
mov dword [esi + 0x3c], eax
mov dword [edi], ebx
mov byte [esi + 0x74], 1
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov ecx, dword [edi + 0x18]
push ecx
call fcn.0043e410
cmp dword [esi + 0x58], ebx
jne 0x4b96a9
cmp eax, ebx
jne 0x4b96a3
mov edx, dword [edi + 0x10]
mov dword [esi + 0x58], edx
jmp 0x4b96b5
cmp byte [0x535500], bl
jne 0x4b9633
push eax
call fcn.004b7c00
mov eax, dword [edi + 0x10]
push eax
jmp 0x4b96ad
mov ecx, dword [edi + 0x10]
push ecx
call fcn.004c1404
add esp, 4
mov edx, dword [edi + 4]
mov dword [edi + 0x10], ebx
mov dword [esi + 0x4c], edx
mov eax, dword [edi + 8]
mov dword [edi + 4], ebx
mov dword [esi + 0x50], eax
mov ecx, dword [edi + 0xc]
mov dword [edi + 8], ebx
mov dword [esi + 0x54], ecx
mov edx, dword [edi + 0x14]
mov dword [edi + 0xc], ebx
mov dword [esi + 0x60], edx
mov eax, dword [edi + 0x18]
mov dword [edi + 0x14], ebx
mov dword [esi + 0x64], eax
mov ecx, dword [edi + 0x1c]
mov dword [edi + 0x18], ebx
push ebx
mov dword [esi + 0x68], ecx
mov dword [edi + 0x1c], ebx
xor edx, edx
push ebx
mov word [esi + 0x26], dx
mov edx, dword [esi + 0x60]
push ebx
push edx
xor eax, eax
xor ecx, ecx
push 1
mov word [esi + 0x24], ax
mov word [esi + 0x22], cx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x6c], 1
call fcn.0040a370
push esi
call fcn.004bfe90
cmp eax, ebx
je 0x4b9733
cmp eax, 0x12
je 0x4b9752
cmp eax, 0xffffffff
jne 0x4b9841
cmp eax, 0x12
je 0x4b9752
cmp eax, 0xffffffff
je 0x4b9752
mov eax, dword [esp + 0x24]
mov dword [eax], esi
inc dword [0x51f840]
mov dword [esp + 0x24], ebp
jmp 0x4b97df
mov ecx, dword [esi + 0x60]
mov edx, dword [0x51f844]
push ecx
push edx
mov ecx, 0x51f7e8
mov dword [esp + 0x34], 1
call fcn.00433b00
mov eax, dword [esi + 0x3c]
push eax
call fcn.004c1404
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004c1404
mov edx, dword [esi + 0x50]
push edx
call fcn.004c1404
mov eax, dword [esi + 0x54]
push eax
call fcn.004c1404
mov eax, dword [esi + 0x58]
add esp, 0x10
cmp eax, ebx
je 0x4b97a6
push eax
call fcn.004c1404
add esp, 4
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x4b97b6
push eax
call fcn.004c1404
add esp, 4
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x4b97c6
push eax
call fcn.004c1404
add esp, 4
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x4b97d6
push eax
call fcn.004c1404
add esp, 4
push esi
call fcn.004c1404
add esp, 4
push edi
call fcn.0043db40
mov edi, eax
cmp edi, ebx
jne 0x4b9641
cmp word [0x54894e], bx
je 0x4b99f4
cmp dword [0x520c68], ebx
jne 0x4b99f4
push 0x4d94b8
push 0x54894e
call fcn.004c3cf8
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
cmp esi, ebx
jne 0x4b984f
mov ecx, dword [0x51f844]
push 0x54894e
push ecx
mov ecx, 0x51f7e8
call fcn.00433b00
push 0x12
call fcn.004b7c00
cmp byte [0x535500], bl
jne 0x4b97ef
push eax
call fcn.004b7c00
cmp word [0x51f83c], bx
je 0x4b9867
mov edx, dword [0x520d70]
push edx
call fcn.004c1404
add esp, 4
push 0x8000
call fcn.004c1d07
add esp, 4
mov dword [0x520d70], eax
cmp eax, ebx
jne 0x4b9884
push 4
call fcn.004b7c00
push esi
push 0x7fff
push 1
push eax
call fcn.004c4096
mov ecx, dword [0x520d70]
mov word [0x51f83c], ax
movzx eax, ax
add esp, 0x10
mov byte [eax + ecx], bl
cmp dword [0x549950], 2
jne 0x4b98bd
mov eax, dword [0x520d70]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x549950], 3
jne 0x4b99eb
mov ecx, dword [0x520d70]
mov al, byte [ecx]
mov dword [esp + 0x20], ecx
cmp al, 0xff
jne 0x4b98e7
cmp byte [ecx + 1], 0xfe
jne 0x4b98e7
mov edi, 1
jmp 0x4b98e9
xor edi, edi
cmp al, 0xfe
jne 0x4b98fa
cmp byte [ecx + 1], 0xff
jne 0x4b98fa
mov ebp, 1
jmp 0x4b98fc
xor ebp, ebp
movzx edx, word [0x51f83c]
inc edx
push edx
lea ecx, [esp + 0x3c]
call fcn.0040c370
mov dword [esp + 0x43e4], 1
xor edx, edx
lea ecx, [edx + 2]
cmp edi, ebx
jne 0x4b992b
cmp ebp, ebx
jne 0x4b992b
lea edi, [edx + 1]
xor ecx, ecx
movzx eax, word [0x51f83c]
mov esi, dword [esp + 0x38]
cmp ecx, eax
jae 0x4b997f
lea eax, [ecx + ebp]
add eax, dword [esp + 0x20]
sub edi, ebp
mov dword [esp + 0x20], edi
jmp 0x4b9954
mov edi, dword [esp + 0x20]
movzx di, byte [edi + eax]
mov ebp, 0x100
imul di, bp
movzx bp, byte [eax]
add di, bp
mov word [esi + edx*2], di
movzx edi, word [0x51f83c]
add ecx, 2
inc edx
add eax, 2
cmp ecx, edi
jb 0x4b9950
xor ecx, ecx
push 0x7fff
mov word [esi + edx*2], cx
mov edx, dword [0x520d70]
push ebx
push edx
call fcn.004c16b0
mov eax, dword [0x520d70]
add esp, 0xc
push 0x7ffe
push eax
push esi
call fcn.00486550
mov ecx, dword [0x520d70]
mov byte [ecx + 0x7ffe], bl
mov eax, dword [0x520d70]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4b99c0
sub eax, edx
mov word [0x51f83c], ax
mov dword [esp + 0x43e4], 0xffffffff
cmp esi, ebx
je 0x4b99e7
push esi
call fcn.004c1404
add esp, 4
mov esi, dword [esp + 0x24]
push esi
call fcn.004c34b2
add esp, 4
mov esi, dword [0x520d68]
mov ecx, dword [0x51f848]
mov edx, dword [0x51f84c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov edi, ecx
mov ebp, edx
cmp esi, ebx
je 0x4b9a6e
cmp dword [0x520c6c], ebx
je 0x4b9a23
cmp byte [esi + 0x74], bl
je 0x4b9a67
push esi
call fcn.004bd1a0
cmp eax, ebx
jne 0x4b88d0
movzx eax, word [esi + 0x24]
movzx edx, word [esi + 0x26]
movzx ecx, word [esi + 0x20]
add edx, eax
lea eax, [edx + ecx + 0x2e]
mov ecx, dword [0x51f848]
cdq
add ecx, eax
adc dword [0x51f84c], edx
add dword [esp + 0x24], 1
mov edx, dword [0x51f84c]
mov dword [0x51f848], ecx
adc dword [esp + 0x28], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4b9a16
sub ecx, edi
sbb edx, ebp
mov eax, ecx
mov ecx, edx
mov edx, dword [0x520d70]
push edx
movzx edx, word [0x51f83c]
push edx
push ebp
push edi
push ecx
mov ecx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x40]
push eax
push ecx
call fcn.004bd590
cmp eax, ebx
je 0x4b9aa2
push eax
call fcn.004b7c00
mov edx, dword [0x520ccc]
push edx
call fcn.004c34b2
add esp, 4
test eax, eax
je 0x4b9acd
mov eax, dword [0x520cc8]
push eax
push ebx
mov ecx, 0x51f7e8
call fcn.00433ba0
push 0xa
call fcn.004b7c00
mov eax, dword [0x520cd0]
mov dword [0x520ccc], ebx
cmp eax, ebx
je 0x4b9aeb
push eax
call fcn.004c34b2
add esp, 4
mov dword [0x520cd0], ebx
cmp byte [0x535500], bl
je 0x4b9b4b
mov ecx, dword [0x520cc8]
push ecx
call fcn.0043c500
mov edx, dword [0x54ba98]
or edx, dword [0x54ba9c]
je 0x4b9cfa
xor esi, esi
cmp dword [0x520cfc], ebx
jbe 0x4b9cfa
nop
mov eax, dword [0x51f844]
push esi
push eax
call fcn.0043eca0
mov edi, eax
push edi
call fcn.0043c500
push edi
call fcn.004c1404
inc esi
add esp, 4
cmp esi, dword [0x520cfc]
jb 0x4b9b20
jmp 0x4b9cfa
cmp word [0x546948], bx
je 0x4b9c42
push 0x546948
mov esi, 0x4d7ec0
call fcn.00460330
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4b9b8d
cmp cx, bx
je 0x4b9b89
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4b9b8d
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4b9b67
xor eax, eax
jmp 0x4b9b92
sbb eax, eax
sbb eax, 0xffffffff
mov esi, 0x4d7b60
cmp eax, ebx
je 0x4b9ba0
mov esi, 0x4d781c
mov ecx, dword [0x51f844]
push esi
push ecx
call fcn.00460550
test al, al
jne 0x4b9c42
mov edx, dword [0x51f844]
push 0x800
push edx
lea eax, [esp + 0x33b8]
push eax
call fcn.0047ef70
push esi
lea ecx, [esp + 0x33b4]
push ecx
call fcn.00461820
lea edx, [esp + 0x33b0]
push edx
call fcn.0043ca60
test al, al
je 0x4b9c16
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea eax, [esp + 0x33c0]
push eax
push ebx
call fcn.0040b740
cmp al, 0x43
je 0x4b9c0f
cmp al, 0x4e
jne 0x4b9c16
push 9
call fcn.004b7c00
mov ecx, dword [0x51f844]
push ecx
call fcn.004c1404
lea edx, [esp + 0x33b4]
push edx
call fcn.004c2b4c
add esp, 8
mov dword [0x51f844], eax
cmp eax, ebx
jne 0x4b9c47
push 4
call fcn.004b7c00
mov eax, dword [0x51f844]
mov ecx, dword [0x520cc8]
push ecx
push eax
call fcn.0043f230
mov esi, eax
cmp esi, ebx
je 0x4b9cc0
mov edx, dword [0x51f844]
mov eax, dword [0x520cc8]
push edx
push eax
push 0x208
call fcn.004750b0
push eax
push ebx
call fcn.004ace90
add esp, 0x10
mov ecx, 0x51f7e8
call fcn.00433750
cmp esi, 0xf
jne 0x4b9ca6
mov ecx, dword [0x51f844]
push ecx
call fcn.0043ca60
test al, al
je 0x4b9ca6
mov edx, dword [0x51f844]
push edx
call fcn.0043c500
mov eax, dword [0x520cc8]
push eax
call fcn.004c1404
add esp, 4
push esi
mov dword [0x520cc8], ebx
call fcn.004b7c00
mov ecx, dword [0x520cc8]
push ecx
call fcn.004c1404
mov eax, dword [0x520ce0]
add esp, 4
cmp eax, ebx
je 0x4b9ce5
mov edx, dword [0x51f844]
push eax
push edx
call fcn.0043c3e0
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x4b9cfa
mov eax, dword [0x51f844]
push eax
call fcn.0043c500
mov dword [0x520cc8], ebx
cmp byte [0x54ba88], bl
je 0x4b9d56
cmp byte [0x535500], bl
jne 0x4b9d56
mov esi, dword [0x520d68]
cmp esi, ebx
je 0x4b9d56
lea ebx, [ebx]
cmp dword [esi + 0x6c], ebx
je 0x4b9d4f
mov ecx, dword [esi + 0x60]
push ecx
call fcn.004c09b0
test eax, eax
jne 0x4b9d4f
mov edx, dword [esi + 0x60]
push edx
push 0x4bf
call fcn.004750b0
push eax
mov eax, dword [0x51f844]
push eax
call fcn.004ace90
add esp, 0xc
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4b9d20
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004c1404
mov eax, dword [esp + 0x30]
add esp, 4
neg eax
lea edx, [esp + 0x2368]
sbb eax, eax
push edx
and eax, 0x12
push eax
call fcn.004b7f90
mov ecx, dword [esp + 0x43dc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x43c4]
xor ecx, esp
call fcn.004c0c62
add esp, 0x43d4
ret