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

Disassembly:
push 0xffffffffffffffff
push 0x4d4e96
mov eax, dword fs:[0]
push eax
mov eax, 0x43c8
call fcn.004bfc70
mov eax, dword [0x4ea93c]
xor eax, esp
mov dword [esp + 0x43c4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ea93c]
xor eax, esp
push eax
lea eax, [esp + 0x43dc]
mov dword fs:[0], eax
mov ecx, 0x51fd38
call fcn.0044aad0
xor ebx, ebx
mov dword [0x51fc28], ebx
mov ecx, 0x4d6afc
mov eax, 0x54ecf2
jmp 0x4b72f0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4b7316
cmp dx, bx
je 0x4b7312
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4b7316
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x4b72f0
xor eax, eax
jmp 0x4b731b
sbb eax, eax
sbb eax, 0xffffffff
mov ebp, 2
cmp eax, ebx
jne 0x4b732a
mov dword [0x51fc28], ebp
xor eax, eax
cmp byte [0x54abaa], bl
mov edi, 1
setne al
cmp word [0x54ecf2], 0x52
mov dword [0x51fc9c], ebx
mov dword [0x588070], ebx
mov dword [0x588074], ebx
mov dword [0x588078], ebx
mov dword [0x58807c], ebx
mov dword [0x51fc2c], eax
mov dword [0x51e7f0], ebx
mov dword [0x51fc1c], ebx
mov dword [0x51fc20], ebx
mov dword [0x4e8f1c], edi
mov dword [0x51fc24], ebx
mov dword [0x51fc30], ebx
jne 0x4b739a
cmp word [0x54ecf4], 0x4e
mov byte [esp + 0x16], 1
je 0x4b739e
mov byte [esp + 0x16], bl
mov ecx, dword [0x54aa28]
mov eax, dword [0x54aa58]
neg ecx
sbb ecx, ecx
mov dword [0x4e8f20], ecx
mov ecx, dword [0x54aa5c]
mov edx, eax
or edx, ecx
mov dword [0x51fc34], ebx
mov dword [0x51fc7c], ebx
mov dword [0x51fc38], ebx
mov dword [0x51fc40], ebx
mov dword [0x51fc48], ebx
mov dword [0x51fc4c], ebx
mov dword [0x51fc50], ebx
mov dword [0x51fc58], ebx
mov dword [0x51fc5c], ebx
mov dword [0x51fc60], ebx
mov dword [0x51fc64], ebx
mov dword [0x4e8f24], edi
mov dword [0x51fc54], ebx
mov dword [0x4e8f28], edi
mov dword [0x4e8f2c], edi
mov dword [0x51fc68], ebx
mov dword [0x4e8f30], edi
mov dword [0x4e8f34], 0xffffffff
mov dword [0x51fc74], ebx
mov dword [0x51fc78], ebx
mov dword [0x51fc80], ebx
mov dword [0x51fc84], ebx
mov dword [0x51fd34], ebx
mov dword [0x4e8f3c], 0x51fd34
mov dword [0x51e804], ebx
mov dword [0x51fc88], ebx
mov dword [0x51fc8c], ebx
mov dword [0x51fc90], ebx
mov dword [0x51fc98], ebx
mov dword [0x51fc94], ebx
mov dword [0x51fca4], ebx
mov dword [0x51fca8], ebx
mov dword [0x51fcb0], ebx
mov dword [0x51fcb4], ebx
mov dword [0x51fcac], ebx
mov dword [0x51fcd8], ebx
mov dword [0x51fce0], ebx
mov dword [0x51fce4], ebx
mov dword [0x51fcb8], ebx
mov dword [0x51fcbc], ebx
mov dword [0x4e8f38], 0xffffffff
mov dword [0x51fcc0], ebx
mov dword [0x51fcc4], ebx
mov dword [0x51fcc8], ebx
mov dword [0x51fccc], ebx
mov dword [0x51fcd0], ebx
mov dword [0x51fcd4], ebx
mov dword [0x51fcdc], ebx
mov dword [0x51fce8], ebx
mov dword [0x51fcf0], ebx
mov dword [0x51fcf4], ebx
mov dword [0x51fcf8], ebx
mov dword [0x51fcfc], ebx
mov dword [0x51fcec], ebx
mov dword [0x51fd00], ebx
mov dword [0x51fd08], ebx
mov dword [0x51fd0c], ebx
je 0x4b758a
cmp eax, 0x7fffffff
jne 0x4b752c
cmp ecx, eax
je 0x4b758a
push 0x54fd12
call fcn.0043c780
test al, al
jne 0x4b758a
mov eax, dword [0x54aa58]
mov ecx, dword [0x54aa5c]
mov dword [0x51fd08], eax
mov dword [0x51fd0c], ecx
mov dword [0x51fd00], edi
cmp word [0x545908], bx
je 0x4b758a
push 0x4d680c
push 0x54fd12
call fcn.0045fb20
test al, al
je 0x4b7581
push 0x4d6b78
push 0x54fd12
call fcn.00460df0
xor edx, edx
mov word [0x545908], dx
mov dword [0x51fd10], ebx
mov dword [0x51fd14], ebx
mov dword [0x51fd18], ebx
mov dword [0x51fd1c], ebx
mov dword [0x51fd24], ebx
mov dword [0x51fc3c], ebx
call fcn.004c40fc
add eax, 0x20
mov dword [0x51e820], eax
call fcn.004bf8e0
mov dword [0x51fc88], ebx
mov dword [0x51fc8c], ebx
cmp dword [0x51fd00], ebx
je 0x4b761b
push 0x4d6b78
push 0x54fd12
call fcn.0045fb20
test al, al
jne 0x4b761b
mov eax, 0x54fd12
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, ebp
cmp cx, bx
jne 0x4b75f0
sub eax, edx
sar eax, 1
cmp eax, 0x7fa
jbe 0x4b760c
push 5
call fcn.004b6c10
push 0x4d6b78
push 0x54fd12
call fcn.00460df0
push 0x54fd12
call fcn.004c1986
add esp, 4
mov dword [0x51e804], eax
cmp eax, ebx
jne 0x4b7638
push 4
call fcn.004b6c10
cmp dword [0x51fc28], ebx
je 0x4b7695
push eax
call fcn.0045fb00
mov esi, eax
cmp esi, ebx
je 0x4b7690
cmp word [esi], 0x2e
jne 0x4b7690
movzx eax, word [esi + 2]
push eax
call fcn.004c281a
add esp, 4
cmp eax, 0x5a
jne 0x4b7690
movzx ecx, word [esi + 4]
push ecx
call fcn.0047e000
test al, al
je 0x4b7690
movzx edx, word [esi + 6]
push edx
call fcn.0047e000
test al, al
je 0x4b7690
mov eax, dword [0x51e804]
push 0x4d6b78
push eax
call fcn.00460df0
mov eax, dword [0x51e804]
cmp dword [0x51fc94], ebx
jne 0x4b76bb
push eax
call fcn.004c1986
add esp, 4
mov dword [0x51fc94], eax
cmp eax, ebx
jne 0x4b76b6
push 4
call fcn.004b6c10
mov eax, dword [0x51e804]
push eax
call fcn.004c1986
add esp, 4
mov dword [0x51fc9c], eax
cmp eax, ebx
jne 0x4b76d4
push 4
call fcn.004b6c10
mov dx, word [0x54ecf2]
cmp dx, 0x44
jne 0x4b7735
or eax, 0xffffffff
cmp dword [0x4e8f20], eax
jne 0x4b7715
cmp dword [0x51fc20], ebx
jne 0x4b7715
cmp dword [0x51fc1c], ebx
jne 0x4b7715
cmp byte [0x549a18], bl
jne 0x4b7715
cmp dword [0x588070], ebx
jne 0x4b7715
cmp word [0x54790e], bx
je 0x4b7735
xor ecx, ecx
mov dword [0x4e8f20], eax
mov dword [0x51fc20], ebx
mov dword [0x51fc1c], ebx
mov dword [0x588070], ebx
mov word [0x54790e], cx
mov eax, dword [0x51fc28]
mov ecx, dword [0x51fc30]
cmp eax, edi
je 0x4b7748
cmp eax, ebp
jne 0x4b7753
cmp ecx, ebx
je 0x4b7753
xor eax, eax
mov dword [0x51fc28], eax
cmp dword [0x51fd00], ebx
je 0x4b776a
cmp eax, ebx
jne 0x4b7763
cmp ecx, ebx
je 0x4b776a
push 0x10
call fcn.004b6c10
cmp dx, 0x41
je 0x4b777f
cmp dword [0x51fc2c], ebx
je 0x4b777f
push 0x10
call fcn.004b6c10
lea ecx, [esp + 0x2368]
call fcn.00401400
push 0x1048
lea edx, [esp + 0x236c]
push ebx
push edx
call fcn.004c05a0
mov ecx, dword [0x51e804]
add esp, 0xc
push ebx
lea eax, [esp + 0x236c]
push eax
push ecx
call fcn.00441010
cmp dword [0x51fc28], ebp
jne 0x4b79d2
push 0x814
lea edx, [esp + 0x33b4]
push edx
push str.rebuilt.
push 0x54690e
call fcn.0045f4f0
mov eax, dword [0x51e804]
push 0x814
push eax
call fcn.0045f900
push eax
lea ecx, [esp + 0x33b8]
push ecx
call fcn.0047e380
lea edx, [esp + 0x33b0]
push edx
push 0x267
call fcn.004744a0
push eax
call fcn.0049eb10
add esp, 8
lea eax, [esp + 0x33b0]
push eax
call fcn.0043c780
test al, al
je 0x4b786c
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea ecx, [esp + 0x33c0]
push ecx
push ebx
call fcn.0040b3b0
cmp al, 0x4e
je 0x4b79c4
cmp al, 0x43
je 0x4b79c4
lea edx, [esp + 0x33b0]
push edx
call fcn.0043c8a0
lea eax, [esp + 0x33b0]
push eax
call fcn.0043c090
lea edx, [esp + 0x33b0]
push edx
mov dword [0x51e808], ebx
mov dword [0x51e80c], ebx
call fcn.004c1986
add esp, 4
mov dword [0x51fc88], eax
cmp eax, ebx
jne 0x4b7898
push 4
call fcn.004b6c10
push 0x4d847c
push eax
call fcn.004c2c28
add esp, 8
mov dword [0x51fc8c], eax
cmp eax, ebx
jne 0x4b78c7
mov eax, dword [0x51fc88]
push eax
push ebx
mov ecx, 0x51e7a8
call fcn.004337a0
push 0xa
call fcn.004b6c10
call fcn.004be690
cmp eax, ebx
je 0x4b78d6
push eax
call fcn.004b6c10
mov esi, dword [0x51fd28]
mov ecx, dword [0x51e808]
mov eax, dword [0x51e80c]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp esi, ebx
je 0x4b793a
push esi
call fcn.004bc1a0
cmp eax, ebx
jne 0x4b78d0
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 [0x51e808]
cdq
add ecx, eax
mov eax, dword [0x51e80c]
adc eax, edx
add edi, 1
mov dword [0x51e808], ecx
mov dword [0x51e80c], eax
mov esi, dword [esi + 0x78]
adc ebp, ebx
cmp esi, ebx
jne 0x4b78f7
mov esi, dword [0x51fd30]
mov edx, dword [esp + 0x18]
push esi
movzx esi, word [0x51e7fc]
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.004bc590
cmp eax, ebx
je 0x4b796c
push eax
call fcn.004b6c10
mov ecx, dword [0x51fc8c]
push ecx
call fcn.004c2398
add esp, 4
test eax, eax
je 0x4b7998
mov edx, dword [0x51fc88]
push edx
push ebx
mov ecx, 0x51e7a8
call fcn.00433810
push 0xa
call fcn.004b6c10
mov eax, dword [0x51fc90]
cmp eax, ebx
je 0x4b79b0
push eax
call fcn.004c2398
add esp, 4
mov dword [0x51fc90], ebx
mov eax, dword [0x51fc88]
push eax
call fcn.004bff04
add esp, 4
mov dword [0x51fc88], ebx
lea ecx, [esp + 0x2368]
push ecx
push ebx
jmp 0x4b8d77
call fcn.004be690
cmp eax, ebx
je 0x4b79e1
push eax
call fcn.004b6c10
mov eax, dword [0x51fd00]
cmp eax, 0xffffffff
jne 0x4b79f3
mov dword [0x51fd00], ebx
jmp 0x4b7a6a
cmp dword [0x51fc28], ebx
jne 0x4b7a6a
cmp eax, ebx
jne 0x4b7a6a
cmp dword [0x51fca4], edi
jbe 0x4b7a6a
mov edx, dword [0x51fc94]
push ebx
push edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.0043e620
push ebx
lea ecx, [esp + 0x1c]
push ecx
push ebx
push eax
mov dword [0x51fc98], eax
call fcn.00493e70
test eax, eax
jne 0x4b7a3c
mov eax, 0x12
jmp 0x4b8d7c
mov ecx, dword [0x51fc98]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
mov dword [0x51fd00], edi
mov dword [0x51fd08], edx
mov dword [0x51fd0c], eax
call fcn.004bff04
add esp, 4
mov dword [0x51fc98], ebx
mov dword [0x51fca8], ebx
cmp byte [0x54aa90], bl
je 0x4b7ad2
mov edx, dword [0x51e804]
push edx
call fcn.0045f830
test al, al
je 0x4b7ad2
movzx eax, word [0x54ecf2]
push eax
push str.AFUM
call fcn.004c10b7
add esp, 8
test eax, eax
je 0x4b7ad2
mov ecx, dword [0x51e804]
movzx edx, word [ecx]
push edx
lea eax, [esp + 0x33b4]
push 0x4d8404
push eax
mov edx, 0x800
call fcn.0043a6e0
add esp, 0xc
lea ecx, [esp + 0x33b0]
push ecx
call fcn.0043cd50
cmp word [0x54ecf2], 0x44
jne 0x4b7af0
call fcn.00494620
cmp eax, ebx
je 0x4b7af0
cmp eax, 0xffffffff
je 0x4b7af0
push eax
call fcn.004b6c10
cmp word [0x54ecf2], 0x41
jne 0x4b7aff
call fcn.00494390
call fcn.0043d740
cmp dword [0x51e800], ebx
je 0x4b7b1b
mov edx, dword [0x51e7f8]
push edx
call fcn.004bff04
add esp, 4
mov esi, dword [0x51fd28]
xor ebp, ebp
mov dword [0x588060], ebx
mov dword [0x588064], ebx
mov dword [0x588068], ebx
mov dword [0x58806c], ebx
mov dword [esp + 0x1c], ebx
cmp esi, ebx
je 0x4b7da3
cmp dword [0x51fc2c], ebx
je 0x4b7b63
cmp dword [esi + 0x6c], ebx
setne al
mov byte [esi + 0x74], al
cmp al, bl
jne 0x4b7b63
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp dword [esi + 0x6c], ebx
je 0x4b7d92
mov eax, dword [esi + 0x18]
add dword [0x588068], eax
mov ecx, dword [esi + 0x1c]
adc dword [0x58806c], ecx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x30], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x34], eax
mov ax, word [0x54ecf2]
cmp ax, 0x44
je 0x4b7cb2
cmp ax, 0x41
jne 0x4b7bb6
cmp byte [0x54aa48], bl
jne 0x4b7bb6
cmp byte [0x54aa47], bl
je 0x4b7cb2
cmp dword [esi + 0x60], ebx
jne 0x4b7bd6
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x4b7bca
push eax
call fcn.00493b00
jmp 0x4b7bd3
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.00493a90
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.00493e70
mov edi, eax
cmp edi, ebx
sete al
cmp al, bl
jne 0x4b7c36
cmp byte [0x54aa48], bl
jne 0x4b7c05
cmp byte [0x54aa47], bl
je 0x4b7c6f
lea edx, [esp + 0x38]
push edx
push esi
call fcn.004942e0
test al, al
je 0x4b7c2c
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 0x4b7c32
cmp edi, dword [esi + 8]
setbe al
cmp al, bl
je 0x4b7c6f
mov edx, dword [0x588070]
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 0x4b7d92
mov eax, dword [esi + 0x18]
sub dword [0x588068], eax
mov ecx, dword [esi + 0x1c]
sbb dword [0x58806c], ecx
jmp 0x4b7d92
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4b7ca0
cmp eax, 0xfffffffe
jne 0x4b7c8a
cmp ecx, 0xffffffff
je 0x4b7ca0
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x1c], eax
jmp 0x4b7d92
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
jmp 0x4b7d92
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp ax, 0x44
je 0x4b7d92
mov eax, dword [0x54aa24]
cmp eax, ebx
je 0x4b7d92
cmp eax, 2
sete byte [esp + 0x17]
cmp eax, 4
jne case.default.0x4b7d5b
mov edx, dword [esi + 0x60]
push 0x800
lea ecx, [esp + 0x33b4]
push ecx
push edx
call fcn.0045f6f0
lea eax, [esp + 0x33b0]
push eax
mov edi, 2
call fcn.0045f410
movzx ecx, word [eax]
push ecx
call fcn.0045f470
test al, al
jne 0x4b7d53
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.0040b3b0
mov edx, dword [str.YNANC]
cbw
movzx eax, ax
movzx ecx, ax
push ecx
push edx
call fcn.004bfcb0
sub eax, dword [str.YNANC]
add esp, 8
inc eax
mov edi, eax
add edi, 0xfffffffe
cmp edi, 3
ja case.default.0x4b7d5b
jmp dword [edi*4 + 0x4b8da4]
mov dword [0x54aa24], 1
jmp case.default.0x4b7d5b
mov dword [0x54aa24], 2
jmp case.0x4b7d5b.2
push 0xff
mov ecx, 0x51e7a8
call fcn.004333b0
cmp byte [esp + 0x17], bl
je 0x4b7d92
mov dword [esi + 0x6c], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4b7b47
mov esi, dword [0x51fd28]
mov edi, dword [0x51fd34]
cmp edi, ebx
je 0x4b7e0c
mov eax, dword [edi + 0x20]
add dword [0x588068], eax
mov ecx, dword [edi + 0x24]
adc dword [0x58806c], ecx
xor eax, eax
cmp word [0x54ecf2], 0x44
je 0x4b7dfa
cmp byte [0x54aa47], bl
jne 0x4b7ddf
mov edx, dword [edi + 0x14]
push ebx
push ebx
push ebx
push edx
call fcn.00493e70
cmp word [0x54ecf2], 0x44
je 0x4b7dfa
cmp byte [0x54aa47], bl
jne 0x4b7dfa
cmp eax, ebx
je 0x4b7dfa
mov edi, dword [edi + 0x2c]
jmp 0x4b7e02
push edi
call fcn.0043d620
mov edi, eax
cmp edi, ebx
jne 0x4b7dad
mov esi, dword [0x51fd28]
or ebp, dword [esp + 0x1c]
mov edx, dword [0x58807c]
jne 0x4b7e6a
cmp dword [0x51fd34], ebx
jne 0x4b7e6a
cmp byte [esp + 0x16], bl
jne 0x4b7e6a
mov edi, dword [0x51fc28]
mov eax, dword [0x54aa78]
mov ebp, dword [0x51fc30]
cmp esi, ebx
je 0x4b7eaf
cmp eax, 2
je 0x4b7e6a
mov cx, word [0x54ecf2]
cmp cx, 0x53
je 0x4b7e6a
cmp edi, ebx
jne 0x4b7e6a
cmp ebp, ebx
jne 0x4b7e6a
cmp edx, ebx
jne 0x4b7e6a
cmp dword [0x588070], ebx
jne 0x4b7e6a
cmp word [0x54790e], bx
je 0x4b7eb6
mov ebp, 1
cmp esi, ebx
je 0x4b7f31
cmp dword [0x51fca4], ebp
je 0x4b7f31
mov eax, dword [0x51e818]
cmp eax, 4
jne 0x4b7f36
cmp dword [0x51e81c], ebx
jne 0x4b7f36
xor eax, eax
mov dword [0x51e818], eax
mov dword [0x51e81c], ebx
jmp 0x4b7f36
mov cx, word [0x54ecf2]
cmp byte [0x54aa48], bl
jne 0x4b7f22
cmp byte [0x54aa47], bl
jne 0x4b7f22
cmp esi, ebx
jne 0x4b7ee2
cmp eax, 2
je 0x4b7edb
cmp edi, ebx
jne 0x4b7edb
cmp ebp, ebx
jne 0x4b7edb
cmp edx, ebx
je 0x4b7ee2
push 0xd
call fcn.004b6c10
cmp cx, 0x41
jne 0x4b7efb
push 0x340
call fcn.004744a0
push eax
mov eax, dword [0x51e804]
push eax
jmp 0x4b7f13
cmp cx, 0x44
jne 0x4b7f1b
push 0x347
call fcn.004744a0
mov ecx, dword [0x51e804]
push eax
push ecx
call fcn.004abfe0
add esp, 8
push 0xc
call fcn.004b6c10
lea edx, [esp + 0x2368]
push edx
push 0xc
jmp 0x4b8d77
mov eax, dword [0x51e818]
cmp dword [0x588078], ebx
je 0x4b7f54
cmp esi, ebx
jne 0x4b7f54
mov ecx, eax
or ecx, dword [0x51e81c]
jne 0x4b7f54
mov dword [0x51fca0], ebx
jmp 0x4b7f98
mov edx, dword [0x51e804]
push edx
call fcn.0043bf00
mov dword [0x51fca0], eax
cmp eax, 0xffffffff
jne 0x4b7f70
mov dword [0x51fca0], ebx
mov eax, dword [0x51e818]
cmp dword [0x51fd28], ebx
jne 0x4b7f98
mov ecx, eax
or ecx, dword [0x51e81c]
jne 0x4b7f98
mov edx, dword [0x51e804]
push edx
call fcn.0043c090
mov eax, dword [0x51e818]
cmp dword [0x58807c], ebx
je 0x4b7fad
xor eax, eax
mov dword [0x51e818], eax
mov dword [0x51e81c], ebx
or eax, dword [0x51e81c]
mov dword [0x51e808], ebx
mov dword [0x51e80c], ebx
je 0x4b8032
mov eax, dword [0x51fc94]
push ebx
push eax
call fcn.0043e620
push 0x4d8484
push eax
mov dword [0x51fc98], eax
call fcn.004c2c28
add esp, 8
mov dword [0x51fc90], eax
cmp eax, ebx
jne 0x4b8032
lea esp, [esp]
push ebx
call fcn.0043ef70
test eax, eax
jne 0x4b8050
mov ecx, dword [0x51fc98]
push ecx
call fcn.004bff04
mov edx, dword [0x51fc94]
add esp, 4
push ebp
push edx
call fcn.0043e620
push 0x4d8484
push eax
mov dword [0x51fc98], eax
call fcn.004c2c28
add esp, 8
mov dword [0x51fc90], eax
cmp eax, ebx
je 0x4b7ff0
mov ecx, dword [0x51e804]
push ecx
call fcn.0043c780
cmp al, bl
je 0x4b8068
mov edx, dword [0x51e804]
push edx
call fcn.0043d8a0
jmp 0x4b8076
mov eax, dword [0x51fc98]
push eax
push ebx
mov ecx, 0x51e7a8
call fcn.00433770
push 9
call fcn.004b6c10
mov eax, dword [0x51e804]
push eax
call fcn.004c1986
add esp, 4
mov dword [0x51fc88], eax
cmp eax, ebx
jne 0x4b8086
push 4
call fcn.004b6c10
push 0x4d847c
push eax
call fcn.004c2c28
add esp, 8
mov dword [0x51fc8c], eax
cmp eax, ebx
jne 0x4b80b6
mov ecx, dword [0x51fc88]
push ecx
push ebx
mov ecx, 0x51e7a8
call fcn.00433810
push 0xa
call fcn.004b6c10
push 0x4000
call fcn.004c0bc4
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x4b80d2
push 4
call fcn.004b6c10
mov edx, dword [0x51fc8c]
push 0x4000
push ebx
push eax
push edx
call fcn.004c43a1
mov eax, dword [0x51fc8c]
add esp, 0x10
push eax
mov dword [0x4e8f30], ebp
call fcn.004becb0
test eax, eax
jne 0x4b8109
mov dword [0x4e8f30], ebx
mov dword [0x51fc68], ebp
cmp word [0x545908], bx
je 0x4b82f3
push 0x545908
mov esi, 0x4d6ed8
call fcn.0045f900
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4b814b
cmp cx, bx
je 0x4b8147
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4b814b
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4b8125
xor eax, eax
jmp 0x4b8150
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4b81df
push 0x4d8484
push 0x545908
call fcn.0043c420
mov edi, eax
cmp edi, ebx
jne 0x4b8184
push 0x54fd12
push ebx
mov ecx, 0x51e7a8
call fcn.00433770
push 0x12
call fcn.004b6c10
push edi
push 0x1000
lea ecx, [esp + 0x33b8]
push ebp
push ecx
call fcn.004c2fc6
mov esi, eax
add esp, 0x10
cmp esi, ebx
jbe 0x4b81d6
push ebx
push esi
push ebp
lea edx, [esp + 0x33bc]
push edx
call fcn.0043e8c0
cmp eax, esi
jne 0x4b82d1
push edi
push 0x1000
lea eax, [esp + 0x33b8]
push ebp
push eax
call fcn.004c2fc6
mov esi, eax
add esp, 0x10
cmp esi, ebx
ja 0x4b81a1
push edi
call fcn.004c2398
add esp, 4
mov eax, dword [0x51fc90]
cmp eax, ebx
je 0x4b8202
push eax
call fcn.004c2398
mov eax, dword [0x51fc98]
push eax
mov dword [0x51fc90], ebx
call fcn.004bff04
add esp, 8
mov ecx, dword [0x51e818]
mov edx, dword [0x51e81c]
mov dword [0x51e808], ecx
mov dword [0x51e80c], edx
cmp dword [0x51fd00], ebx
je 0x4b8259
push ebx
push 4
push ebp
push 0x51e828
mov byte [0x51e828], 0x50
mov byte [0x51e829], 0x4b
mov byte [0x51e82a], 7
mov byte [0x51e82b], 8
call fcn.0043e8c0
add dword [0x51e808], 4
adc dword [0x51e80c], ebx
cmp word [0x54ecf2], 0x41
mov dword [esp + 0x2c], ebx
jne 0x4b8281
cmp dword [0x51fd28], ebx
mov edx, dword [0x51e804]
setne al
movzx ecx, al
push ecx
push edx
push ebp
call fcn.00409fa0
mov esi, dword [0x51fd28]
mov edi, 0x51fd28
mov dword [esp + 0x24], edi
cmp esi, ebx
je 0x4b8633
cmp dword [esi + 0x6c], ebp
jne 0x4b8497
cmp word [0x54ecf2], 0x44
je 0x4b83ef
push esi
lea eax, [esp + 0x24]
push eax
call fcn.004bd540
test eax, eax
je 0x4b8329
mov cx, word [esi + 4]
xor edx, edx
mov word [esi + 0x2e], cx
mov word [esi + 0x22], dx
jmp 0x4b838d
mov ecx, dword [0x51fc88]
push ecx
push ebx
mov ecx, 0x51e7a8
call fcn.00433810
push edi
call fcn.004c2398
add esp, 4
push 0xe
call fcn.004b6c10
cmp dword [0x51fc90], ebx
je 0x4b8202
mov ecx, dword [0x51e818]
mov eax, dword [0x51e81c]
mov edx, ecx
or edx, eax
je 0x4b81df
push eax
push ecx
call fcn.0043f060
cmp eax, ebx
je 0x4b81df
push eax
call fcn.004b6c10
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 0x4b836f
mov edx, dword [eax + 0x4c]
push edx
call fcn.004bff04
mov eax, dword [esp + 0x24]
add esp, 4
cmp word [eax + 0x20], bx
je 0x4b836f
mov eax, dword [eax + 0x3c]
push eax
call fcn.004bff04
mov eax, dword [esp + 0x24]
add esp, 4
cmp dword [eax + 0x58], ebx
je 0x4b8384
mov ecx, dword [eax + 0x58]
push ecx
call fcn.004bff04
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004bff04
add esp, 4
mov edx, dword [esi + 0x60]
push ebx
push ebx
push ebp
push edx
push ebp
call fcn.00409fe0
push esi
call fcn.004bee80
cmp eax, ebx
je 0x4b83b2
cmp eax, 0x12
je 0x4b83c0
cmp eax, 0xffffffff
jne 0x4b8695
cmp eax, 0x12
je 0x4b83c0
cmp eax, 0xffffffff
jne 0x4b8622
mov eax, dword [esi + 0x60]
mov ecx, dword [0x51e804]
push eax
push ecx
mov ecx, 0x51e7a8
mov dword [esp + 0x34], ebp
call fcn.00433770
push esi
call fcn.004bc990
cmp eax, ebx
jne 0x4b78d0
mov dword [esi + 0x6c], ebx
jmp 0x4b8622
cmp byte [0x5344c0], bl
jne 0x4b8633
mov edx, dword [esi + 0x54]
push ebx
push ebx
push edx
call fcn.0047e470
push eax
call fcn.0040aee0
mov eax, dword [esi + 0x4c]
mov ebp, dword [esi + 0x78]
push eax
call fcn.004bff04
mov ecx, dword [esi + 0x50]
push ecx
call fcn.004bff04
mov edx, dword [esi + 0x54]
push edx
call fcn.004bff04
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebx
je 0x4b843d
push eax
call fcn.004bff04
add esp, 4
cmp word [esi + 0x22], bx
je 0x4b8453
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x4b8453
push eax
call fcn.004bff04
add esp, 4
cmp word [esi + 0x24], bx
je 0x4b846a
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x40]
je 0x4b846a
push eax
call fcn.004bff04
add esp, 4
cmp word [esi + 0x26], bx
je 0x4b847c
mov eax, dword [esi + 0x48]
push eax
call fcn.004bff04
add esp, 4
push esi
call fcn.004bff04
mov dword [edi], ebp
add esp, 4
dec dword [0x51e800]
mov ebp, 1
jmp 0x4b8629
cmp dword [0x51fc2c], ebx
je 0x4b84a8
cmp byte [esi + 0x74], bl
je 0x4b8622
cmp word [0x54ecf2], 0x44
jne 0x4b84c3
mov ecx, dword [esi + 0x54]
push ebp
push ebx
push ecx
call fcn.0047e470
push eax
call fcn.0040aee0
mov edi, dword [0x51fc28]
cmp byte [esp + 0x16], bl
je 0x4b860e
lea ecx, [esp + 0x68]
call fcn.00402590
mov dword [esp + 0x43e4], ebx
push 0x2300
lea edx, [esp + 0x6c]
push ebx
push edx
call fcn.004c05a0
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
call fcn.0049e2f0
movsx ecx, byte [eax]
push ecx
call fcn.0045f470
mov edx, dword [esi + 8]
push edx
lea ecx, [esp + 0x109c]
mov byte [esp + 0x1b], al
call fcn.00481880
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.0045f6f0
lea ecx, [esp + 0x68]
push ecx
push 0x5448f8
call fcn.004614f0
test al, al
je 0x4b85fa
cmp byte [esp + 0x17], bl
je 0x4b8575
push 0x800
lea edx, [esp + 0x8c]
push edx
call fcn.0045f4a0
push 0x800
push ebx
lea eax, [esp + 0x90]
push eax
call fcn.0045f790
push 0x800
lea ecx, [esp + 0x33b4]
push ecx
lea edx, [esp + 0x90]
push edx
call fcn.004859b0
mov eax, dword [esi + 0x4c]
push eax
call fcn.004bff04
lea ecx, [esp + 0x33b4]
push ecx
call fcn.004d00ab
mov edx, dword [esi + 0x64]
push edx
mov dword [esi + 0x4c], eax
call fcn.004bff04
lea eax, [esp + 0x94]
push eax
call fcn.004c1986
mov ecx, dword [esi + 0x58]
push ecx
mov dword [esi + 0x64], eax
call fcn.004bff04
add esp, 0x14
lea edx, [esp + 0x88]
push edx
call fcn.00493b80
mov dword [esi + 0x58], eax
mov dword [0x51fc28], 3
mov dword [esp + 0x43e4], 0xffffffff
lea ecx, [esp + 0x68]
call fcn.00401870
push esi
call fcn.004bc990
mov dword [0x51fc28], edi
cmp eax, ebx
jne 0x4b78d0
lea edi, [esi + 0x78]
mov dword [esp + 0x24], edi
mov esi, dword [edi]
cmp esi, ebx
jne 0x4b8298
mov edi, dword [0x51fd34]
cmp edi, ebx
je 0x4b87ef
cmp byte [0x5344c0], bl
jne 0x4b87ef
push 0x80
call fcn.004c0bc4
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4b7631
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.0043dee0
cmp dword [esi + 0x58], ebx
jne 0x4b86a9
cmp eax, ebx
jne 0x4b86a3
mov edx, dword [edi + 0x10]
mov dword [esi + 0x58], edx
jmp 0x4b86b5
cmp byte [0x5344c0], bl
jne 0x4b8633
push eax
call fcn.004b6c10
mov eax, dword [edi + 0x10]
push eax
jmp 0x4b86ad
mov ecx, dword [edi + 0x10]
push ecx
call fcn.004bff04
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.00409fe0
push esi
call fcn.004bee80
cmp eax, ebx
je 0x4b8733
cmp eax, 0x12
je 0x4b8752
cmp eax, 0xffffffff
jne 0x4b8841
cmp eax, 0x12
je 0x4b8752
cmp eax, 0xffffffff
je 0x4b8752
mov eax, dword [esp + 0x24]
mov dword [eax], esi
inc dword [0x51e800]
mov dword [esp + 0x24], ebp
jmp 0x4b87df
mov ecx, dword [esi + 0x60]
mov edx, dword [0x51e804]
push ecx
push edx
mov ecx, 0x51e7a8
mov dword [esp + 0x34], 1
call fcn.00433770
mov eax, dword [esi + 0x3c]
push eax
call fcn.004bff04
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004bff04
mov edx, dword [esi + 0x50]
push edx
call fcn.004bff04
mov eax, dword [esi + 0x54]
push eax
call fcn.004bff04
mov eax, dword [esi + 0x58]
add esp, 0x10
cmp eax, ebx
je 0x4b87a6
push eax
call fcn.004bff04
add esp, 4
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x4b87b6
push eax
call fcn.004bff04
add esp, 4
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x4b87c6
push eax
call fcn.004bff04
add esp, 4
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x4b87d6
push eax
call fcn.004bff04
add esp, 4
push esi
call fcn.004bff04
add esp, 4
push edi
call fcn.0043d620
mov edi, eax
cmp edi, ebx
jne 0x4b8641
cmp word [0x54790e], bx
je 0x4b89f4
cmp dword [0x51fc28], ebx
jne 0x4b89f4
push 0x4d8484
push 0x54790e
call fcn.004c2c28
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
cmp esi, ebx
jne 0x4b884f
mov ecx, dword [0x51e804]
push 0x54790e
push ecx
mov ecx, 0x51e7a8
call fcn.00433770
push 0x12
call fcn.004b6c10
cmp byte [0x5344c0], bl
jne 0x4b87ef
push eax
call fcn.004b6c10
cmp word [0x51e7fc], bx
je 0x4b8867
mov edx, dword [0x51fd30]
push edx
call fcn.004bff04
add esp, 4
push 0x8000
call fcn.004c0bc4
add esp, 4
mov dword [0x51fd30], eax
cmp eax, ebx
jne 0x4b8884
push 4
call fcn.004b6c10
push esi
push 0x7fff
push 1
push eax
call fcn.004c2fc6
mov ecx, dword [0x51fd30]
mov word [0x51e7fc], ax
movzx eax, ax
add esp, 0x10
mov byte [eax + ecx], bl
cmp dword [0x548910], 2
jne 0x4b88bd
mov eax, dword [0x51fd30]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x548910], 3
jne 0x4b89eb
mov ecx, dword [0x51fd30]
mov al, byte [ecx]
mov dword [esp + 0x20], ecx
cmp al, 0xff
jne 0x4b88e7
cmp byte [ecx + 1], 0xfe
jne 0x4b88e7
mov edi, 1
jmp 0x4b88e9
xor edi, edi
cmp al, 0xfe
jne 0x4b88fa
cmp byte [ecx + 1], 0xff
jne 0x4b88fa
mov ebp, 1
jmp 0x4b88fc
xor ebp, ebp
movzx edx, word [0x51e7fc]
inc edx
push edx
lea ecx, [esp + 0x3c]
call fcn.0040bfa0
mov dword [esp + 0x43e4], 1
xor edx, edx
lea ecx, [edx + 2]
cmp edi, ebx
jne 0x4b892b
cmp ebp, ebx
jne 0x4b892b
lea edi, [edx + 1]
xor ecx, ecx
movzx eax, word [0x51e7fc]
mov esi, dword [esp + 0x38]
cmp ecx, eax
jae 0x4b897f
lea eax, [ecx + ebp]
add eax, dword [esp + 0x20]
sub edi, ebp
mov dword [esp + 0x20], edi
jmp 0x4b8954
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 [0x51e7fc]
add ecx, 2
inc edx
add eax, 2
cmp ecx, edi
jb 0x4b8950
xor ecx, ecx
push 0x7fff
mov word [esi + edx*2], cx
mov edx, dword [0x51fd30]
push ebx
push edx
call fcn.004c05a0
mov eax, dword [0x51fd30]
add esp, 0xc
push 0x7ffe
push eax
push esi
call fcn.004859b0
mov ecx, dword [0x51fd30]
mov byte [ecx + 0x7ffe], bl
mov eax, dword [0x51fd30]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4b89c0
sub eax, edx
mov word [0x51e7fc], ax
mov dword [esp + 0x43e4], 0xffffffff
cmp esi, ebx
je 0x4b89e7
push esi
call fcn.004bff04
add esp, 4
mov esi, dword [esp + 0x24]
push esi
call fcn.004c2398
add esp, 4
mov esi, dword [0x51fd28]
mov ecx, dword [0x51e808]
mov edx, dword [0x51e80c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov edi, ecx
mov ebp, edx
cmp esi, ebx
je 0x4b8a6e
cmp dword [0x51fc2c], ebx
je 0x4b8a23
cmp byte [esi + 0x74], bl
je 0x4b8a67
push esi
call fcn.004bc1a0
cmp eax, ebx
jne 0x4b78d0
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 [0x51e808]
cdq
add ecx, eax
adc dword [0x51e80c], edx
add dword [esp + 0x24], 1
mov edx, dword [0x51e80c]
mov dword [0x51e808], ecx
adc dword [esp + 0x28], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4b8a16
sub ecx, edi
sbb edx, ebp
mov eax, ecx
mov ecx, edx
mov edx, dword [0x51fd30]
push edx
movzx edx, word [0x51e7fc]
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.004bc590
cmp eax, ebx
je 0x4b8aa2
push eax
call fcn.004b6c10
mov edx, dword [0x51fc8c]
push edx
call fcn.004c2398
add esp, 4
test eax, eax
je 0x4b8acd
mov eax, dword [0x51fc88]
push eax
push ebx
mov ecx, 0x51e7a8
call fcn.00433810
push 0xa
call fcn.004b6c10
mov eax, dword [0x51fc90]
mov dword [0x51fc8c], ebx
cmp eax, ebx
je 0x4b8aeb
push eax
call fcn.004c2398
add esp, 4
mov dword [0x51fc90], ebx
cmp byte [0x5344c0], bl
je 0x4b8b4b
mov ecx, dword [0x51fc88]
push ecx
call fcn.0043c090
mov edx, dword [0x54aa58]
or edx, dword [0x54aa5c]
je 0x4b8cfa
xor esi, esi
cmp dword [0x51fcbc], ebx
jbe 0x4b8cfa
nop
mov eax, dword [0x51e804]
push esi
push eax
call fcn.0043e770
mov edi, eax
push edi
call fcn.0043c090
push edi
call fcn.004bff04
inc esi
add esp, 4
cmp esi, dword [0x51fcbc]
jb 0x4b8b20
jmp 0x4b8cfa
cmp word [0x545908], bx
je 0x4b8c42
push 0x545908
mov esi, 0x4d6ed8
call fcn.0045f900
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4b8b8d
cmp cx, bx
je 0x4b8b89
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4b8b8d
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4b8b67
xor eax, eax
jmp 0x4b8b92
sbb eax, eax
sbb eax, 0xffffffff
mov esi, 0x4d6b78
cmp eax, ebx
je 0x4b8ba0
mov esi, 0x4d680c
mov ecx, dword [0x51e804]
push esi
push ecx
call fcn.0045fb20
test al, al
jne 0x4b8c42
mov edx, dword [0x51e804]
push 0x800
push edx
lea eax, [esp + 0x33b8]
push eax
call fcn.0047e340
push esi
lea ecx, [esp + 0x33b4]
push ecx
call fcn.00460df0
lea edx, [esp + 0x33b0]
push edx
call fcn.0043c780
test al, al
je 0x4b8c16
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea eax, [esp + 0x33c0]
push eax
push ebx
call fcn.0040b3b0
cmp al, 0x43
je 0x4b8c0f
cmp al, 0x4e
jne 0x4b8c16
push 9
call fcn.004b6c10
mov ecx, dword [0x51e804]
push ecx
call fcn.004bff04
lea edx, [esp + 0x33b4]
push edx
call fcn.004c1986
add esp, 8
mov dword [0x51e804], eax
cmp eax, ebx
jne 0x4b8c47
push 4
call fcn.004b6c10
mov eax, dword [0x51e804]
mov ecx, dword [0x51fc88]
push ecx
push eax
call fcn.0043ed00
mov esi, eax
cmp esi, ebx
je 0x4b8cc0
mov edx, dword [0x51e804]
mov eax, dword [0x51fc88]
push edx
push eax
push 0x208
call fcn.004744a0
push eax
push ebx
call fcn.004abfe0
add esp, 0x10
mov ecx, 0x51e7a8
call fcn.004333c0
cmp esi, 0xf
jne 0x4b8ca6
mov ecx, dword [0x51e804]
push ecx
call fcn.0043c780
test al, al
je 0x4b8ca6
mov edx, dword [0x51e804]
push edx
call fcn.0043c090
mov eax, dword [0x51fc88]
push eax
call fcn.004bff04
add esp, 4
push esi
mov dword [0x51fc88], ebx
call fcn.004b6c10
mov ecx, dword [0x51fc88]
push ecx
call fcn.004bff04
mov eax, dword [0x51fca0]
add esp, 4
cmp eax, ebx
je 0x4b8ce5
mov edx, dword [0x51e804]
push eax
push edx
call fcn.0043bf70
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x4b8cfa
mov eax, dword [0x51e804]
push eax
call fcn.0043c090
mov dword [0x51fc88], ebx
cmp byte [0x54aa44], bl
je 0x4b8d56
cmp byte [0x5344c0], bl
jne 0x4b8d56
mov esi, dword [0x51fd28]
cmp esi, ebx
je 0x4b8d56
lea ebx, [ebx]
cmp dword [esi + 0x6c], ebx
je 0x4b8d4f
mov ecx, dword [esi + 0x60]
push ecx
call fcn.004bf9a0
test eax, eax
jne 0x4b8d4f
mov edx, dword [esi + 0x60]
push edx
push 0x4bf
call fcn.004744a0
push eax
mov eax, dword [0x51e804]
push eax
call fcn.004abfe0
add esp, 0xc
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4b8d20
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004bff04
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.004b6f90
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.004bfc52
add esp, 0x43d4
ret