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

Disassembly:
push 0xffffffffffffffff
push 0x4d6876
mov eax, dword fs:[0]
push eax
mov eax, 0x43c8
call fcn.004c1320
mov eax, dword [0x4eb0b4]
xor eax, esp
mov dword [esp + 0x43c4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eb0b4]
xor eax, esp
push eax
lea eax, [esp + 0x43dc]
mov dword fs:[0], eax
mov ecx, 0x520498
call fcn.0044b5c0
xor ebx, ebx
mov dword [0x520388], ebx
mov ecx, 0x4d7ae4
mov eax, 0x54f452
jmp 0x4b8960
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4b8986
cmp dx, bx
je 0x4b8982
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4b8986
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x4b8960
xor eax, eax
jmp 0x4b898b
sbb eax, eax
sbb eax, 0xffffffff
mov ebp, 2
cmp eax, ebx
jne 0x4b899a
mov dword [0x520388], ebp
xor eax, eax
cmp byte [0x54b30a], bl
mov edi, 1
setne al
cmp word [0x54f452], 0x52
mov dword [0x5203fc], ebx
mov dword [0x5887c8], ebx
mov dword [0x5887cc], ebx
mov dword [0x5887d0], ebx
mov dword [0x5887d4], ebx
mov dword [0x52038c], eax
mov dword [0x51ef50], ebx
mov dword [0x52037c], ebx
mov dword [0x520380], ebx
mov dword [0x4e95fc], edi
mov dword [0x520384], ebx
mov dword [0x520390], ebx
jne 0x4b8a0a
cmp word [0x54f454], 0x4e
mov byte [esp + 0x16], 1
je 0x4b8a0e
mov byte [esp + 0x16], bl
mov ecx, dword [0x54b18c]
mov eax, dword [0x54b1b8]
neg ecx
sbb ecx, ecx
mov dword [0x4e9600], ecx
mov ecx, dword [0x54b1bc]
mov edx, eax
or edx, ecx
mov dword [0x520394], ebx
mov dword [0x5203dc], ebx
mov dword [0x520398], ebx
mov dword [0x5203a0], ebx
mov dword [0x5203a8], ebx
mov dword [0x5203ac], ebx
mov dword [0x5203b0], ebx
mov dword [0x5203b8], ebx
mov dword [0x5203bc], ebx
mov dword [0x5203c0], ebx
mov dword [0x5203c4], ebx
mov dword [0x4e9604], edi
mov dword [0x5203b4], ebx
mov dword [0x4e9608], edi
mov dword [0x4e960c], edi
mov dword [0x5203c8], ebx
mov dword [0x4e9610], edi
mov dword [0x4e9614], 0xffffffff
mov dword [0x5203d4], ebx
mov dword [0x5203d8], ebx
mov dword [0x5203e0], ebx
mov dword [0x5203e4], ebx
mov dword [0x520494], ebx
mov dword [0x4e961c], 0x520494
mov dword [0x51ef64], ebx
mov dword [0x5203e8], ebx
mov dword [0x5203ec], ebx
mov dword [0x5203f0], ebx
mov dword [0x5203f8], ebx
mov dword [0x5203f4], ebx
mov dword [0x520404], ebx
mov dword [0x520408], ebx
mov dword [0x520410], ebx
mov dword [0x520414], ebx
mov dword [0x52040c], ebx
mov dword [0x520438], ebx
mov dword [0x520440], ebx
mov dword [0x520444], ebx
mov dword [0x520418], ebx
mov dword [0x52041c], ebx
mov dword [0x4e9618], 0xffffffff
mov dword [0x520420], ebx
mov dword [0x520424], ebx
mov dword [0x520428], ebx
mov dword [0x52042c], ebx
mov dword [0x520430], ebx
mov dword [0x520434], ebx
mov dword [0x52043c], ebx
mov dword [0x520448], ebx
mov dword [0x520450], ebx
mov dword [0x520454], ebx
mov dword [0x520458], ebx
mov dword [0x52045c], ebx
mov dword [0x52044c], ebx
mov dword [0x520460], ebx
mov dword [0x520468], ebx
mov dword [0x52046c], ebx
je 0x4b8bfa
cmp eax, 0x7fffffff
jne 0x4b8b9c
cmp ecx, eax
je 0x4b8bfa
push 0x550472
call fcn.0043ccc0
test al, al
jne 0x4b8bfa
mov eax, dword [0x54b1b8]
mov ecx, dword [0x54b1bc]
mov dword [0x520468], eax
mov dword [0x52046c], ecx
mov dword [0x520460], edi
cmp word [0x546068], bx
je 0x4b8bfa
push 0x4d781c
push 0x550472
call fcn.00460840
test al, al
je 0x4b8bf1
push 0x4d7b60
push 0x550472
call fcn.00461af0
xor edx, edx
mov word [0x546068], dx
mov dword [0x520470], ebx
mov dword [0x520474], ebx
mov dword [0x520478], ebx
mov dword [0x52047c], ebx
mov dword [0x520484], ebx
mov dword [0x52039c], ebx
call fcn.004c5a9c
add eax, 0x20
mov dword [0x51ef80], eax
call fcn.004c0f90
mov dword [0x5203e8], ebx
mov dword [0x5203ec], ebx
cmp dword [0x520460], ebx
je 0x4b8c8b
push 0x4d7b60
push 0x550472
call fcn.00460840
test al, al
jne 0x4b8c8b
mov eax, 0x550472
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, ebp
cmp cx, bx
jne 0x4b8c60
sub eax, edx
sar eax, 1
cmp eax, 0x7fa
jbe 0x4b8c7c
push 5
call fcn.004b8280
push 0x4d7b60
push 0x550472
call fcn.00461af0
push 0x550472
call fcn.004c339d
add esp, 4
mov dword [0x51ef64], eax
cmp eax, ebx
jne 0x4b8ca8
push 4
call fcn.004b8280
cmp dword [0x520388], ebx
je 0x4b8d05
push eax
call fcn.00460820
mov esi, eax
cmp esi, ebx
je 0x4b8d00
cmp word [esi], 0x2e
jne 0x4b8d00
movzx eax, word [esi + 2]
push eax
call fcn.004c4184
add esp, 4
cmp eax, 0x5a
jne 0x4b8d00
movzx ecx, word [esi + 4]
push ecx
call fcn.0047f140
test al, al
je 0x4b8d00
movzx edx, word [esi + 6]
push edx
call fcn.0047f140
test al, al
je 0x4b8d00
mov eax, dword [0x51ef64]
push 0x4d7b60
push eax
call fcn.00461af0
mov eax, dword [0x51ef64]
cmp dword [0x5203f4], ebx
jne 0x4b8d2b
push eax
call fcn.004c339d
add esp, 4
mov dword [0x5203f4], eax
cmp eax, ebx
jne 0x4b8d26
push 4
call fcn.004b8280
mov eax, dword [0x51ef64]
push eax
call fcn.004c339d
add esp, 4
mov dword [0x5203fc], eax
cmp eax, ebx
jne 0x4b8d44
push 4
call fcn.004b8280
mov dx, word [0x54f452]
cmp dx, 0x44
jne 0x4b8da5
or eax, 0xffffffff
cmp dword [0x4e9600], eax
jne 0x4b8d85
cmp dword [0x520380], ebx
jne 0x4b8d85
cmp dword [0x52037c], ebx
jne 0x4b8d85
cmp byte [0x54a17c], bl
jne 0x4b8d85
cmp dword [0x5887c8], ebx
jne 0x4b8d85
cmp word [0x54806e], bx
je 0x4b8da5
xor ecx, ecx
mov dword [0x4e9600], eax
mov dword [0x520380], ebx
mov dword [0x52037c], ebx
mov dword [0x5887c8], ebx
mov word [0x54806e], cx
mov eax, dword [0x520388]
mov ecx, dword [0x520390]
cmp eax, edi
je 0x4b8db8
cmp eax, ebp
jne 0x4b8dc3
cmp ecx, ebx
je 0x4b8dc3
xor eax, eax
mov dword [0x520388], eax
cmp dword [0x520460], ebx
je 0x4b8dda
cmp eax, ebx
jne 0x4b8dd3
cmp ecx, ebx
je 0x4b8dda
push 0x10
call fcn.004b8280
cmp dx, 0x41
je 0x4b8def
cmp dword [0x52038c], ebx
je 0x4b8def
push 0x10
call fcn.004b8280
lea ecx, [esp + 0x2368]
call fcn.00401550
push 0x1048
lea edx, [esp + 0x236c]
push ebx
push edx
call fcn.004c1d50
mov ecx, dword [0x51ef64]
add esp, 0xc
push ebx
lea eax, [esp + 0x236c]
push eax
push ecx
call fcn.00441780
cmp dword [0x520388], ebp
jne 0x4b9042
push 0x814
lea edx, [esp + 0x33b4]
push edx
push str.rebuilt.
push 0x54706e
call fcn.00460210
mov eax, dword [0x51ef64]
push 0x814
push eax
call fcn.00460620
push eax
lea ecx, [esp + 0x33b8]
push ecx
call fcn.0047f4c0
lea edx, [esp + 0x33b0]
push edx
push 0x267
call fcn.00475570
push eax
call fcn.004a00f0
add esp, 8
lea eax, [esp + 0x33b0]
push eax
call fcn.0043ccc0
test al, al
je 0x4b8edc
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea ecx, [esp + 0x33c0]
push ecx
push ebx
call fcn.0040b930
cmp al, 0x4e
je 0x4b9034
cmp al, 0x43
je 0x4b9034
lea edx, [esp + 0x33b0]
push edx
call fcn.0043cde0
lea eax, [esp + 0x33b0]
push eax
call fcn.0043c760
lea edx, [esp + 0x33b0]
push edx
mov dword [0x51ef68], ebx
mov dword [0x51ef6c], ebx
call fcn.004c339d
add esp, 4
mov dword [0x5203e8], eax
cmp eax, ebx
jne 0x4b8f08
push 4
call fcn.004b8280
push 0x4d9468
push eax
call fcn.004c4548
add esp, 8
mov dword [0x5203ec], eax
cmp eax, ebx
jne 0x4b8f37
mov eax, dword [0x5203e8]
push eax
push ebx
mov ecx, 0x51ef08
call fcn.00433e50
push 0xa
call fcn.004b8280
call fcn.004bfd40
cmp eax, ebx
je 0x4b8f46
push eax
call fcn.004b8280
mov esi, dword [0x520488]
mov ecx, dword [0x51ef68]
mov eax, dword [0x51ef6c]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp esi, ebx
je 0x4b8faa
push esi
call fcn.004bd820
cmp eax, ebx
jne 0x4b8f40
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 [0x51ef68]
cdq
add ecx, eax
mov eax, dword [0x51ef6c]
adc eax, edx
add edi, 1
mov dword [0x51ef68], ecx
mov dword [0x51ef6c], eax
mov esi, dword [esi + 0x78]
adc ebp, ebx
cmp esi, ebx
jne 0x4b8f67
mov esi, dword [0x520490]
mov edx, dword [esp + 0x18]
push esi
movzx esi, word [0x51ef5c]
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.004bdc10
cmp eax, ebx
je 0x4b8fdc
push eax
call fcn.004b8280
mov ecx, dword [0x5203ec]
push ecx
call fcn.004c3d02
add esp, 4
test eax, eax
je 0x4b9008
mov edx, dword [0x5203e8]
push edx
push ebx
mov ecx, 0x51ef08
call fcn.00433ec0
push 0xa
call fcn.004b8280
mov eax, dword [0x5203f0]
cmp eax, ebx
je 0x4b9020
push eax
call fcn.004c3d02
add esp, 4
mov dword [0x5203f0], ebx
mov eax, dword [0x5203e8]
push eax
call fcn.004c1aa4
add esp, 4
mov dword [0x5203e8], ebx
lea ecx, [esp + 0x2368]
push ecx
push ebx
jmp 0x4ba3e7
call fcn.004bfd40
cmp eax, ebx
je 0x4b9051
push eax
call fcn.004b8280
mov eax, dword [0x520460]
cmp eax, 0xffffffff
jne 0x4b9063
mov dword [0x520460], ebx
jmp 0x4b90da
cmp dword [0x520388], ebx
jne 0x4b90da
cmp eax, ebx
jne 0x4b90da
cmp dword [0x520404], edi
jbe 0x4b90da
mov edx, dword [0x5203f4]
push ebx
push edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.0043eda0
push ebx
lea ecx, [esp + 0x1c]
push ecx
push ebx
push eax
mov dword [0x5203f8], eax
call fcn.00495280
test eax, eax
jne 0x4b90ac
mov eax, 0x12
jmp 0x4ba3ec
mov ecx, dword [0x5203f8]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
mov dword [0x520460], edi
mov dword [0x520468], edx
mov dword [0x52046c], eax
call fcn.004c1aa4
add esp, 4
mov dword [0x5203f8], ebx
mov dword [0x520408], ebx
cmp byte [0x54b1f0], bl
je 0x4b9142
mov edx, dword [0x51ef64]
push edx
call fcn.00460550
test al, al
je 0x4b9142
movzx eax, word [0x54f452]
push eax
push str.AFUM
call fcn.004c28a7
add esp, 8
test eax, eax
je 0x4b9142
mov ecx, dword [0x51ef64]
movzx edx, word [ecx]
push edx
lea eax, [esp + 0x33b4]
push 0x4d93f0
push eax
mov edx, 0x800
call fcn.0041cb70
add esp, 0xc
lea ecx, [esp + 0x33b0]
push ecx
call fcn.0043d4b0
cmp word [0x54f452], 0x44
jne 0x4b9160
call fcn.00495a30
cmp eax, ebx
je 0x4b9160
cmp eax, 0xffffffff
je 0x4b9160
push eax
call fcn.004b8280
cmp word [0x54f452], 0x41
jne 0x4b916f
call fcn.004957a0
call fcn.0043dec0
cmp dword [0x51ef60], ebx
je 0x4b918b
mov edx, dword [0x51ef58]
push edx
call fcn.004c1aa4
add esp, 4
mov esi, dword [0x520488]
xor ebp, ebp
mov dword [0x5887b8], ebx
mov dword [0x5887bc], ebx
mov dword [0x5887c0], ebx
mov dword [0x5887c4], ebx
mov dword [esp + 0x1c], ebx
cmp esi, ebx
je 0x4b9413
cmp dword [0x52038c], ebx
je 0x4b91d3
cmp dword [esi + 0x6c], ebx
setne al
mov byte [esi + 0x74], al
cmp al, bl
jne 0x4b91d3
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp dword [esi + 0x6c], ebx
je 0x4b9402
mov eax, dword [esi + 0x18]
add dword [0x5887c0], eax
mov ecx, dword [esi + 0x1c]
adc dword [0x5887c4], ecx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x30], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x34], eax
mov ax, word [0x54f452]
cmp ax, 0x44
je 0x4b9322
cmp ax, 0x41
jne 0x4b9226
cmp byte [0x54b1ac], bl
jne 0x4b9226
cmp byte [0x54b1ab], bl
je 0x4b9322
cmp dword [esi + 0x60], ebx
jne 0x4b9246
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x4b923a
push eax
call fcn.00494f10
jmp 0x4b9243
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.00494ea0
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.00495280
mov edi, eax
cmp edi, ebx
sete al
cmp al, bl
jne 0x4b92a6
cmp byte [0x54b1ac], bl
jne 0x4b9275
cmp byte [0x54b1ab], bl
je 0x4b92df
lea edx, [esp + 0x38]
push edx
push esi
call fcn.004956f0
test al, al
je 0x4b929c
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 0x4b92a2
cmp edi, dword [esi + 8]
setbe al
cmp al, bl
je 0x4b92df
mov edx, dword [0x5887c8]
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 0x4b9402
mov eax, dword [esi + 0x18]
sub dword [0x5887c0], eax
mov ecx, dword [esi + 0x1c]
sbb dword [0x5887c4], ecx
jmp 0x4b9402
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4b9310
cmp eax, 0xfffffffe
jne 0x4b92fa
cmp ecx, 0xffffffff
je 0x4b9310
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x1c], eax
jmp 0x4b9402
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
jmp 0x4b9402
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp ax, 0x44
je 0x4b9402
mov eax, dword [0x54b188]
cmp eax, ebx
je 0x4b9402
cmp eax, 2
sete byte [esp + 0x17]
cmp eax, 4
jne case.default.0x4b93cb
mov edx, dword [esi + 0x60]
push 0x800
lea ecx, [esp + 0x33b4]
push ecx
push edx
call fcn.00460410
lea eax, [esp + 0x33b0]
push eax
mov edi, 2
call fcn.00460130
movzx ecx, word [eax]
push ecx
call fcn.00460190
test al, al
jne 0x4b93c3
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.0040b930
mov edx, dword [str.YNANC]
cbw
movzx eax, ax
movzx ecx, ax
push ecx
push edx
call fcn.004c1860
sub eax, dword [str.YNANC]
add esp, 8
inc eax
mov edi, eax
add edi, 0xfffffffe
cmp edi, 3
ja case.default.0x4b93cb
jmp dword [edi*4 + 0x4ba414]
mov dword [0x54b188], 1
jmp case.default.0x4b93cb
mov dword [0x54b188], 2
jmp case.0x4b93cb.2
push 0xff
mov ecx, 0x51ef08
call fcn.00433a60
cmp byte [esp + 0x17], bl
je 0x4b9402
mov dword [esi + 0x6c], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4b91b7
mov esi, dword [0x520488]
mov edi, dword [0x520494]
cmp edi, ebx
je 0x4b947c
mov eax, dword [edi + 0x20]
add dword [0x5887c0], eax
mov ecx, dword [edi + 0x24]
adc dword [0x5887c4], ecx
xor eax, eax
cmp word [0x54f452], 0x44
je 0x4b946a
cmp byte [0x54b1ab], bl
jne 0x4b944f
mov edx, dword [edi + 0x14]
push ebx
push ebx
push ebx
push edx
call fcn.00495280
cmp word [0x54f452], 0x44
je 0x4b946a
cmp byte [0x54b1ab], bl
jne 0x4b946a
cmp eax, ebx
je 0x4b946a
mov edi, dword [edi + 0x2c]
jmp 0x4b9472
push edi
call fcn.0043dda0
mov edi, eax
cmp edi, ebx
jne 0x4b941d
mov esi, dword [0x520488]
or ebp, dword [esp + 0x1c]
mov edx, dword [0x5887d4]
jne 0x4b94da
cmp dword [0x520494], ebx
jne 0x4b94da
cmp byte [esp + 0x16], bl
jne 0x4b94da
mov edi, dword [0x520388]
mov eax, dword [0x54b1d8]
mov ebp, dword [0x520390]
cmp esi, ebx
je 0x4b951f
cmp eax, 2
je 0x4b94da
mov cx, word [0x54f452]
cmp cx, 0x53
je 0x4b94da
cmp edi, ebx
jne 0x4b94da
cmp ebp, ebx
jne 0x4b94da
cmp edx, ebx
jne 0x4b94da
cmp dword [0x5887c8], ebx
jne 0x4b94da
cmp word [0x54806e], bx
je 0x4b9526
mov ebp, 1
cmp esi, ebx
je 0x4b95a1
cmp dword [0x520404], ebp
je 0x4b95a1
mov eax, dword [0x51ef78]
cmp eax, 4
jne 0x4b95a6
cmp dword [0x51ef7c], ebx
jne 0x4b95a6
xor eax, eax
mov dword [0x51ef78], eax
mov dword [0x51ef7c], ebx
jmp 0x4b95a6
mov cx, word [0x54f452]
cmp byte [0x54b1ac], bl
jne 0x4b9592
cmp byte [0x54b1ab], bl
jne 0x4b9592
cmp esi, ebx
jne 0x4b9552
cmp eax, 2
je 0x4b954b
cmp edi, ebx
jne 0x4b954b
cmp ebp, ebx
jne 0x4b954b
cmp edx, ebx
je 0x4b9552
push 0xd
call fcn.004b8280
cmp cx, 0x41
jne 0x4b956b
push 0x340
call fcn.00475570
push eax
mov eax, dword [0x51ef64]
push eax
jmp 0x4b9583
cmp cx, 0x44
jne 0x4b958b
push 0x347
call fcn.00475570
mov ecx, dword [0x51ef64]
push eax
push ecx
call fcn.004ad680
add esp, 8
push 0xc
call fcn.004b8280
lea edx, [esp + 0x2368]
push edx
push 0xc
jmp 0x4ba3e7
mov eax, dword [0x51ef78]
cmp dword [0x5887d0], ebx
je 0x4b95c4
cmp esi, ebx
jne 0x4b95c4
mov ecx, eax
or ecx, dword [0x51ef7c]
jne 0x4b95c4
mov dword [0x520400], ebx
jmp 0x4b9608
mov edx, dword [0x51ef64]
push edx
call fcn.0043c5d0
mov dword [0x520400], eax
cmp eax, 0xffffffff
jne 0x4b95e0
mov dword [0x520400], ebx
mov eax, dword [0x51ef78]
cmp dword [0x520488], ebx
jne 0x4b9608
mov ecx, eax
or ecx, dword [0x51ef7c]
jne 0x4b9608
mov edx, dword [0x51ef64]
push edx
call fcn.0043c760
mov eax, dword [0x51ef78]
cmp dword [0x5887d4], ebx
je 0x4b961d
xor eax, eax
mov dword [0x51ef78], eax
mov dword [0x51ef7c], ebx
or eax, dword [0x51ef7c]
mov dword [0x51ef68], ebx
mov dword [0x51ef6c], ebx
je 0x4b96a2
mov eax, dword [0x5203f4]
push ebx
push eax
call fcn.0043eda0
push 0x4d9470
push eax
mov dword [0x5203f8], eax
call fcn.004c4548
add esp, 8
mov dword [0x5203f0], eax
cmp eax, ebx
jne 0x4b96a2
lea esp, [esp]
push ebx
call fcn.0043f6f0
test eax, eax
jne 0x4b96c0
mov ecx, dword [0x5203f8]
push ecx
call fcn.004c1aa4
mov edx, dword [0x5203f4]
add esp, 4
push ebp
push edx
call fcn.0043eda0
push 0x4d9470
push eax
mov dword [0x5203f8], eax
call fcn.004c4548
add esp, 8
mov dword [0x5203f0], eax
cmp eax, ebx
je 0x4b9660
mov ecx, dword [0x51ef64]
push ecx
call fcn.0043ccc0
cmp al, bl
je 0x4b96d8
mov edx, dword [0x51ef64]
push edx
call fcn.0043e020
jmp 0x4b96e6
mov eax, dword [0x5203f8]
push eax
push ebx
mov ecx, 0x51ef08
call fcn.00433e20
push 9
call fcn.004b8280
mov eax, dword [0x51ef64]
push eax
call fcn.004c339d
add esp, 4
mov dword [0x5203e8], eax
cmp eax, ebx
jne 0x4b96f6
push 4
call fcn.004b8280
push 0x4d9468
push eax
call fcn.004c4548
add esp, 8
mov dword [0x5203ec], eax
cmp eax, ebx
jne 0x4b9726
mov ecx, dword [0x5203e8]
push ecx
push ebx
mov ecx, 0x51ef08
call fcn.00433ec0
push 0xa
call fcn.004b8280
push 0x4000
call fcn.004c23a7
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x4b9742
push 4
call fcn.004b8280
mov edx, dword [0x5203ec]
push 0x4000
push ebx
push eax
push edx
call fcn.004c5d41
mov eax, dword [0x5203ec]
add esp, 0x10
push eax
mov dword [0x4e9610], ebp
call fcn.004c0360
test eax, eax
jne 0x4b9779
mov dword [0x4e9610], ebx
mov dword [0x5203c8], ebp
cmp word [0x546068], bx
je 0x4b9963
push 0x546068
mov esi, 0x4d7ec0
call fcn.00460620
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4b97bb
cmp cx, bx
je 0x4b97b7
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4b97bb
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4b9795
xor eax, eax
jmp 0x4b97c0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4b984f
push 0x4d9470
push 0x546068
call fcn.0043caf0
mov edi, eax
cmp edi, ebx
jne 0x4b97f4
push 0x550472
push ebx
mov ecx, 0x51ef08
call fcn.00433e20
push 0x12
call fcn.004b8280
push edi
push 0x1000
lea ecx, [esp + 0x33b8]
push ebp
push ecx
call fcn.004c4965
mov esi, eax
add esp, 0x10
cmp esi, ebx
jbe 0x4b9846
push ebx
push esi
push ebp
lea edx, [esp + 0x33bc]
push edx
call fcn.0043f040
cmp eax, esi
jne 0x4b9941
push edi
push 0x1000
lea eax, [esp + 0x33b8]
push ebp
push eax
call fcn.004c4965
mov esi, eax
add esp, 0x10
cmp esi, ebx
ja 0x4b9811
push edi
call fcn.004c3d02
add esp, 4
mov eax, dword [0x5203f0]
cmp eax, ebx
je 0x4b9872
push eax
call fcn.004c3d02
mov eax, dword [0x5203f8]
push eax
mov dword [0x5203f0], ebx
call fcn.004c1aa4
add esp, 8
mov ecx, dword [0x51ef78]
mov edx, dword [0x51ef7c]
mov dword [0x51ef68], ecx
mov dword [0x51ef6c], edx
cmp dword [0x520460], ebx
je 0x4b98c9
push ebx
push 4
push ebp
push 0x51ef88
mov byte [0x51ef88], 0x50
mov byte [0x51ef89], 0x4b
mov byte [0x51ef8a], 7
mov byte [0x51ef8b], 8
call fcn.0043f040
add dword [0x51ef68], 4
adc dword [0x51ef6c], ebx
cmp word [0x54f452], 0x41
mov dword [esp + 0x2c], ebx
jne 0x4b98f1
cmp dword [0x520488], ebx
mov edx, dword [0x51ef64]
setne al
movzx ecx, al
push ecx
push edx
push ebp
call fcn.0040a520
mov esi, dword [0x520488]
mov edi, 0x520488
mov dword [esp + 0x24], edi
cmp esi, ebx
je 0x4b9ca3
cmp dword [esi + 0x6c], ebp
jne 0x4b9b07
cmp word [0x54f452], 0x44
je 0x4b9a5f
push esi
lea eax, [esp + 0x24]
push eax
call fcn.004bebd0
test eax, eax
je 0x4b9999
mov cx, word [esi + 4]
xor edx, edx
mov word [esi + 0x2e], cx
mov word [esi + 0x22], dx
jmp 0x4b99fd
mov ecx, dword [0x5203e8]
push ecx
push ebx
mov ecx, 0x51ef08
call fcn.00433ec0
push edi
call fcn.004c3d02
add esp, 4
push 0xe
call fcn.004b8280
cmp dword [0x5203f0], ebx
je 0x4b9872
mov ecx, dword [0x51ef78]
mov eax, dword [0x51ef7c]
mov edx, ecx
or edx, eax
je 0x4b984f
push eax
push ecx
call fcn.0043f7e0
cmp eax, ebx
je 0x4b984f
push eax
call fcn.004b8280
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 0x4b99df
mov edx, dword [eax + 0x4c]
push edx
call fcn.004c1aa4
mov eax, dword [esp + 0x24]
add esp, 4
cmp word [eax + 0x20], bx
je 0x4b99df
mov eax, dword [eax + 0x3c]
push eax
call fcn.004c1aa4
mov eax, dword [esp + 0x24]
add esp, 4
cmp dword [eax + 0x58], ebx
je 0x4b99f4
mov ecx, dword [eax + 0x58]
push ecx
call fcn.004c1aa4
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004c1aa4
add esp, 4
mov edx, dword [esi + 0x60]
push ebx
push ebx
push ebp
push edx
push ebp
call fcn.0040a560
push esi
call fcn.004c0530
cmp eax, ebx
je 0x4b9a22
cmp eax, 0x12
je 0x4b9a30
cmp eax, 0xffffffff
jne 0x4b9d05
cmp eax, 0x12
je 0x4b9a30
cmp eax, 0xffffffff
jne 0x4b9c92
mov eax, dword [esi + 0x60]
mov ecx, dword [0x51ef64]
push eax
push ecx
mov ecx, 0x51ef08
mov dword [esp + 0x34], ebp
call fcn.00433e20
push esi
call fcn.004be010
cmp eax, ebx
jne 0x4b8f40
mov dword [esi + 0x6c], ebx
jmp 0x4b9c92
cmp byte [0x534c20], bl
jne 0x4b9ca3
mov edx, dword [esi + 0x54]
push ebx
push ebx
push edx
call fcn.0047f5b0
push eax
call fcn.0040b460
mov eax, dword [esi + 0x4c]
mov ebp, dword [esi + 0x78]
push eax
call fcn.004c1aa4
mov ecx, dword [esi + 0x50]
push ecx
call fcn.004c1aa4
mov edx, dword [esi + 0x54]
push edx
call fcn.004c1aa4
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebx
je 0x4b9aad
push eax
call fcn.004c1aa4
add esp, 4
cmp word [esi + 0x22], bx
je 0x4b9ac3
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x4b9ac3
push eax
call fcn.004c1aa4
add esp, 4
cmp word [esi + 0x24], bx
je 0x4b9ada
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x40]
je 0x4b9ada
push eax
call fcn.004c1aa4
add esp, 4
cmp word [esi + 0x26], bx
je 0x4b9aec
mov eax, dword [esi + 0x48]
push eax
call fcn.004c1aa4
add esp, 4
push esi
call fcn.004c1aa4
mov dword [edi], ebp
add esp, 4
dec dword [0x51ef60]
mov ebp, 1
jmp 0x4b9c99
cmp dword [0x52038c], ebx
je 0x4b9b18
cmp byte [esi + 0x74], bl
je 0x4b9c92
cmp word [0x54f452], 0x44
jne 0x4b9b33
mov ecx, dword [esi + 0x54]
push ebp
push ebx
push ecx
call fcn.0047f5b0
push eax
call fcn.0040b460
mov edi, dword [0x520388]
cmp byte [esp + 0x16], bl
je 0x4b9c7e
lea ecx, [esp + 0x68]
call fcn.004022f0
mov dword [esp + 0x43e4], ebx
push 0x2300
lea edx, [esp + 0x6c]
push ebx
push edx
call fcn.004c1d50
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
call fcn.0049f910
movsx ecx, byte [eax]
push ecx
call fcn.00460190
mov edx, dword [esi + 8]
push edx
lea ecx, [esp + 0x109c]
mov byte [esp + 0x1b], al
call fcn.00482a40
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.00460410
lea ecx, [esp + 0x68]
push ecx
push 0x545058
call fcn.004621d0
test al, al
je 0x4b9c6a
cmp byte [esp + 0x17], bl
je 0x4b9be5
push 0x800
lea edx, [esp + 0x8c]
push edx
call fcn.004601c0
push 0x800
push ebx
lea eax, [esp + 0x90]
push eax
call fcn.004604b0
push 0x800
lea ecx, [esp + 0x33b4]
push ecx
lea edx, [esp + 0x90]
push edx
call fcn.00486b80
mov eax, dword [esi + 0x4c]
push eax
call fcn.004c1aa4
lea ecx, [esp + 0x33b4]
push ecx
call fcn.004d194b
mov edx, dword [esi + 0x64]
push edx
mov dword [esi + 0x4c], eax
call fcn.004c1aa4
lea eax, [esp + 0x94]
push eax
call fcn.004c339d
mov ecx, dword [esi + 0x58]
push ecx
mov dword [esi + 0x64], eax
call fcn.004c1aa4
add esp, 0x14
lea edx, [esp + 0x88]
push edx
call fcn.00494f90
mov dword [esi + 0x58], eax
mov dword [0x520388], 3
mov dword [esp + 0x43e4], 0xffffffff
lea ecx, [esp + 0x68]
call fcn.004019b0
push esi
call fcn.004be010
mov dword [0x520388], edi
cmp eax, ebx
jne 0x4b8f40
lea edi, [esi + 0x78]
mov dword [esp + 0x24], edi
mov esi, dword [edi]
cmp esi, ebx
jne 0x4b9908
mov edi, dword [0x520494]
cmp edi, ebx
je 0x4b9e5f
cmp byte [0x534c20], bl
jne 0x4b9e5f
push 0x80
call fcn.004c23a7
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4b8ca1
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.0043e660
cmp dword [esi + 0x58], ebx
jne 0x4b9d19
cmp eax, ebx
jne 0x4b9d13
mov edx, dword [edi + 0x10]
mov dword [esi + 0x58], edx
jmp 0x4b9d25
cmp byte [0x534c20], bl
jne 0x4b9ca3
push eax
call fcn.004b8280
mov eax, dword [edi + 0x10]
push eax
jmp 0x4b9d1d
mov ecx, dword [edi + 0x10]
push ecx
call fcn.004c1aa4
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.0040a560
push esi
call fcn.004c0530
cmp eax, ebx
je 0x4b9da3
cmp eax, 0x12
je 0x4b9dc2
cmp eax, 0xffffffff
jne 0x4b9eb1
cmp eax, 0x12
je 0x4b9dc2
cmp eax, 0xffffffff
je 0x4b9dc2
mov eax, dword [esp + 0x24]
mov dword [eax], esi
inc dword [0x51ef60]
mov dword [esp + 0x24], ebp
jmp 0x4b9e4f
mov ecx, dword [esi + 0x60]
mov edx, dword [0x51ef64]
push ecx
push edx
mov ecx, 0x51ef08
mov dword [esp + 0x34], 1
call fcn.00433e20
mov eax, dword [esi + 0x3c]
push eax
call fcn.004c1aa4
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004c1aa4
mov edx, dword [esi + 0x50]
push edx
call fcn.004c1aa4
mov eax, dword [esi + 0x54]
push eax
call fcn.004c1aa4
mov eax, dword [esi + 0x58]
add esp, 0x10
cmp eax, ebx
je 0x4b9e16
push eax
call fcn.004c1aa4
add esp, 4
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x4b9e26
push eax
call fcn.004c1aa4
add esp, 4
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x4b9e36
push eax
call fcn.004c1aa4
add esp, 4
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x4b9e46
push eax
call fcn.004c1aa4
add esp, 4
push esi
call fcn.004c1aa4
add esp, 4
push edi
call fcn.0043dda0
mov edi, eax
cmp edi, ebx
jne 0x4b9cb1
cmp word [0x54806e], bx
je 0x4ba064
cmp dword [0x520388], ebx
jne 0x4ba064
push 0x4d9470
push 0x54806e
call fcn.004c4548
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
cmp esi, ebx
jne 0x4b9ebf
mov ecx, dword [0x51ef64]
push 0x54806e
push ecx
mov ecx, 0x51ef08
call fcn.00433e20
push 0x12
call fcn.004b8280
cmp byte [0x534c20], bl
jne 0x4b9e5f
push eax
call fcn.004b8280
cmp word [0x51ef5c], bx
je 0x4b9ed7
mov edx, dword [0x520490]
push edx
call fcn.004c1aa4
add esp, 4
push 0x8000
call fcn.004c23a7
add esp, 4
mov dword [0x520490], eax
cmp eax, ebx
jne 0x4b9ef4
push 4
call fcn.004b8280
push esi
push 0x7fff
push 1
push eax
call fcn.004c4965
mov ecx, dword [0x520490]
mov word [0x51ef5c], ax
movzx eax, ax
add esp, 0x10
mov byte [eax + ecx], bl
cmp dword [0x549070], 2
jne 0x4b9f2d
mov eax, dword [0x520490]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x549070], 3
jne 0x4ba05b
mov ecx, dword [0x520490]
mov al, byte [ecx]
mov dword [esp + 0x20], ecx
cmp al, 0xff
jne 0x4b9f57
cmp byte [ecx + 1], 0xfe
jne 0x4b9f57
mov edi, 1
jmp 0x4b9f59
xor edi, edi
cmp al, 0xfe
jne 0x4b9f6a
cmp byte [ecx + 1], 0xff
jne 0x4b9f6a
mov ebp, 1
jmp 0x4b9f6c
xor ebp, ebp
movzx edx, word [0x51ef5c]
inc edx
push edx
lea ecx, [esp + 0x3c]
call fcn.0040c520
mov dword [esp + 0x43e4], 1
xor edx, edx
lea ecx, [edx + 2]
cmp edi, ebx
jne 0x4b9f9b
cmp ebp, ebx
jne 0x4b9f9b
lea edi, [edx + 1]
xor ecx, ecx
movzx eax, word [0x51ef5c]
mov esi, dword [esp + 0x38]
cmp ecx, eax
jae 0x4b9fef
lea eax, [ecx + ebp]
add eax, dword [esp + 0x20]
sub edi, ebp
mov dword [esp + 0x20], edi
jmp 0x4b9fc4
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 [0x51ef5c]
add ecx, 2
inc edx
add eax, 2
cmp ecx, edi
jb 0x4b9fc0
xor ecx, ecx
push 0x7fff
mov word [esi + edx*2], cx
mov edx, dword [0x520490]
push ebx
push edx
call fcn.004c1d50
mov eax, dword [0x520490]
add esp, 0xc
push 0x7ffe
push eax
push esi
call fcn.00486b80
mov ecx, dword [0x520490]
mov byte [ecx + 0x7ffe], bl
mov eax, dword [0x520490]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4ba030
sub eax, edx
mov word [0x51ef5c], ax
mov dword [esp + 0x43e4], 0xffffffff
cmp esi, ebx
je 0x4ba057
push esi
call fcn.004c1aa4
add esp, 4
mov esi, dword [esp + 0x24]
push esi
call fcn.004c3d02
add esp, 4
mov esi, dword [0x520488]
mov ecx, dword [0x51ef68]
mov edx, dword [0x51ef6c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov edi, ecx
mov ebp, edx
cmp esi, ebx
je 0x4ba0de
cmp dword [0x52038c], ebx
je 0x4ba093
cmp byte [esi + 0x74], bl
je 0x4ba0d7
push esi
call fcn.004bd820
cmp eax, ebx
jne 0x4b8f40
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 [0x51ef68]
cdq
add ecx, eax
adc dword [0x51ef6c], edx
add dword [esp + 0x24], 1
mov edx, dword [0x51ef6c]
mov dword [0x51ef68], ecx
adc dword [esp + 0x28], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4ba086
sub ecx, edi
sbb edx, ebp
mov eax, ecx
mov ecx, edx
mov edx, dword [0x520490]
push edx
movzx edx, word [0x51ef5c]
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.004bdc10
cmp eax, ebx
je 0x4ba112
push eax
call fcn.004b8280
mov edx, dword [0x5203ec]
push edx
call fcn.004c3d02
add esp, 4
test eax, eax
je 0x4ba13d
mov eax, dword [0x5203e8]
push eax
push ebx
mov ecx, 0x51ef08
call fcn.00433ec0
push 0xa
call fcn.004b8280
mov eax, dword [0x5203f0]
mov dword [0x5203ec], ebx
cmp eax, ebx
je 0x4ba15b
push eax
call fcn.004c3d02
add esp, 4
mov dword [0x5203f0], ebx
cmp byte [0x534c20], bl
je 0x4ba1bb
mov ecx, dword [0x5203e8]
push ecx
call fcn.0043c760
mov edx, dword [0x54b1b8]
or edx, dword [0x54b1bc]
je 0x4ba36a
xor esi, esi
cmp dword [0x52041c], ebx
jbe 0x4ba36a
nop
mov eax, dword [0x51ef64]
push esi
push eax
call fcn.0043eef0
mov edi, eax
push edi
call fcn.0043c760
push edi
call fcn.004c1aa4
inc esi
add esp, 4
cmp esi, dword [0x52041c]
jb 0x4ba190
jmp 0x4ba36a
cmp word [0x546068], bx
je 0x4ba2b2
push 0x546068
mov esi, 0x4d7ec0
call fcn.00460620
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4ba1fd
cmp cx, bx
je 0x4ba1f9
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4ba1fd
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4ba1d7
xor eax, eax
jmp 0x4ba202
sbb eax, eax
sbb eax, 0xffffffff
mov esi, 0x4d7b60
cmp eax, ebx
je 0x4ba210
mov esi, 0x4d781c
mov ecx, dword [0x51ef64]
push esi
push ecx
call fcn.00460840
test al, al
jne 0x4ba2b2
mov edx, dword [0x51ef64]
push 0x800
push edx
lea eax, [esp + 0x33b8]
push eax
call fcn.0047f480
push esi
lea ecx, [esp + 0x33b4]
push ecx
call fcn.00461af0
lea edx, [esp + 0x33b0]
push edx
call fcn.0043ccc0
test al, al
je 0x4ba286
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea eax, [esp + 0x33c0]
push eax
push ebx
call fcn.0040b930
cmp al, 0x43
je 0x4ba27f
cmp al, 0x4e
jne 0x4ba286
push 9
call fcn.004b8280
mov ecx, dword [0x51ef64]
push ecx
call fcn.004c1aa4
lea edx, [esp + 0x33b4]
push edx
call fcn.004c339d
add esp, 8
mov dword [0x51ef64], eax
cmp eax, ebx
jne 0x4ba2b7
push 4
call fcn.004b8280
mov eax, dword [0x51ef64]
mov ecx, dword [0x5203e8]
push ecx
push eax
call fcn.0043f480
mov esi, eax
cmp esi, ebx
je 0x4ba330
mov edx, dword [0x51ef64]
mov eax, dword [0x5203e8]
push edx
push eax
push 0x208
call fcn.00475570
push eax
push ebx
call fcn.004ad680
add esp, 0x10
mov ecx, 0x51ef08
call fcn.00433a70
cmp esi, 0xf
jne 0x4ba316
mov ecx, dword [0x51ef64]
push ecx
call fcn.0043ccc0
test al, al
je 0x4ba316
mov edx, dword [0x51ef64]
push edx
call fcn.0043c760
mov eax, dword [0x5203e8]
push eax
call fcn.004c1aa4
add esp, 4
push esi
mov dword [0x5203e8], ebx
call fcn.004b8280
mov ecx, dword [0x5203e8]
push ecx
call fcn.004c1aa4
mov eax, dword [0x520400]
add esp, 4
cmp eax, ebx
je 0x4ba355
mov edx, dword [0x51ef64]
push eax
push edx
call fcn.0043c640
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x4ba36a
mov eax, dword [0x51ef64]
push eax
call fcn.0043c760
mov dword [0x5203e8], ebx
cmp byte [0x54b1a8], bl
je 0x4ba3c6
cmp byte [0x534c20], bl
jne 0x4ba3c6
mov esi, dword [0x520488]
cmp esi, ebx
je 0x4ba3c6
lea ebx, [ebx]
cmp dword [esi + 0x6c], ebx
je 0x4ba3bf
mov ecx, dword [esi + 0x60]
push ecx
call fcn.004c1050
test eax, eax
jne 0x4ba3bf
mov edx, dword [esi + 0x60]
push edx
push 0x4bf
call fcn.00475570
push eax
mov eax, dword [0x51ef64]
push eax
call fcn.004ad680
add esp, 0xc
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4ba390
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004c1aa4
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.004b8600
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.004c1302
add esp, 0x43d4
ret