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

Disassembly:
push 0xffffffffffffffff
push 0x4d71c6
mov eax, dword fs:[0]
push eax
mov eax, 0x43c8
call fcn.004c1c40
mov eax, dword [0x4ec0b4]
xor eax, esp
mov dword [esp + 0x43c4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ec0b4]
xor eax, esp
push eax
lea eax, [esp + 0x43dc]
mov dword fs:[0], eax
mov ecx, 0x5214a0
call fcn.0044bbc0
xor ebx, ebx
mov dword [0x521390], ebx
mov ecx, 0x4d8ae4
mov eax, 0x55045a
jmp 0x4b9270
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4b9296
cmp dx, bx
je 0x4b9292
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4b9296
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x4b9270
xor eax, eax
jmp 0x4b929b
sbb eax, eax
sbb eax, 0xffffffff
mov ebp, 2
cmp eax, ebx
jne 0x4b92aa
mov dword [0x521390], ebp
xor eax, eax
cmp byte [0x54c312], bl
mov edi, 1
setne al
cmp word [0x55045a], 0x52
mov dword [0x521404], ebx
mov dword [0x5897d0], ebx
mov dword [0x5897d4], ebx
mov dword [0x5897d8], ebx
mov dword [0x5897dc], ebx
mov dword [0x521394], eax
mov dword [0x51ff58], ebx
mov dword [0x521384], ebx
mov dword [0x521388], ebx
mov dword [0x4ea5fc], edi
mov dword [0x52138c], ebx
mov dword [0x521398], ebx
jne 0x4b931a
cmp word [0x55045c], 0x4e
mov byte [esp + 0x16], 1
je 0x4b931e
mov byte [esp + 0x16], bl
mov ecx, dword [0x54c194]
mov eax, dword [0x54c1c0]
neg ecx
sbb ecx, ecx
mov dword [0x4ea600], ecx
mov ecx, dword [0x54c1c4]
mov edx, eax
or edx, ecx
mov dword [0x52139c], ebx
mov dword [0x5213e4], ebx
mov dword [0x5213a0], ebx
mov dword [0x5213a8], ebx
mov dword [0x5213b0], ebx
mov dword [0x5213b4], ebx
mov dword [0x5213b8], ebx
mov dword [0x5213c0], ebx
mov dword [0x5213c4], ebx
mov dword [0x5213c8], ebx
mov dword [0x5213cc], ebx
mov dword [0x4ea604], edi
mov dword [0x5213bc], ebx
mov dword [0x4ea608], edi
mov dword [0x4ea60c], edi
mov dword [0x5213d0], ebx
mov dword [0x4ea610], edi
mov dword [0x4ea614], 0xffffffff
mov dword [0x5213dc], ebx
mov dword [0x5213e0], ebx
mov dword [0x5213e8], ebx
mov dword [0x5213ec], ebx
mov dword [0x52149c], ebx
mov dword [0x4ea61c], 0x52149c
mov dword [0x51ff6c], ebx
mov dword [0x5213f0], ebx
mov dword [0x5213f4], ebx
mov dword [0x5213f8], ebx
mov dword [0x521400], ebx
mov dword [0x5213fc], ebx
mov dword [0x52140c], ebx
mov dword [0x521410], ebx
mov dword [0x521418], ebx
mov dword [0x52141c], ebx
mov dword [0x521414], ebx
mov dword [0x521440], ebx
mov dword [0x521448], ebx
mov dword [0x52144c], ebx
mov dword [0x521420], ebx
mov dword [0x521424], ebx
mov dword [0x4ea618], 0xffffffff
mov dword [0x521428], ebx
mov dword [0x52142c], ebx
mov dword [0x521430], ebx
mov dword [0x521434], ebx
mov dword [0x521438], ebx
mov dword [0x52143c], ebx
mov dword [0x521444], ebx
mov dword [0x521450], ebx
mov dword [0x521458], ebx
mov dword [0x52145c], ebx
mov dword [0x521460], ebx
mov dword [0x521464], ebx
mov dword [0x521454], ebx
mov dword [0x521468], ebx
mov dword [0x521470], ebx
mov dword [0x521474], ebx
je 0x4b950a
cmp eax, 0x7fffffff
jne 0x4b94ac
cmp ecx, eax
je 0x4b950a
push 0x55147a
call fcn.0043d340
test al, al
jne 0x4b950a
mov eax, dword [0x54c1c0]
mov ecx, dword [0x54c1c4]
mov dword [0x521470], eax
mov dword [0x521474], ecx
mov dword [0x521468], edi
cmp word [0x547070], bx
je 0x4b950a
push 0x4d881c
push 0x55147a
call fcn.00460e70
test al, al
je 0x4b9501
push 0x4d8b60
push 0x55147a
call fcn.00462140
xor edx, edx
mov word [0x547070], dx
mov dword [0x521478], ebx
mov dword [0x52147c], ebx
mov dword [0x521480], ebx
mov dword [0x521484], ebx
mov dword [0x52148c], ebx
mov dword [0x5213a4], ebx
call fcn.004c63cc
add eax, 0x20
mov dword [0x51ff88], eax
call fcn.004c18b0
mov dword [0x5213f0], ebx
mov dword [0x5213f4], ebx
cmp dword [0x521468], ebx
je 0x4b959b
push 0x4d8b60
push 0x55147a
call fcn.00460e70
test al, al
jne 0x4b959b
mov eax, 0x55147a
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, ebp
cmp cx, bx
jne 0x4b9570
sub eax, edx
sar eax, 1
cmp eax, 0x7fa
jbe 0x4b958c
push 5
call fcn.004b8b90
push 0x4d8b60
push 0x55147a
call fcn.00462140
push 0x55147a
call fcn.004c3cbd
add esp, 4
mov dword [0x51ff6c], eax
cmp eax, ebx
jne 0x4b95b8
push 4
call fcn.004b8b90
cmp dword [0x521390], ebx
je 0x4b9615
push eax
call fcn.00460e50
mov esi, eax
cmp esi, ebx
je 0x4b9610
cmp word [esi], 0x2e
jne 0x4b9610
movzx eax, word [esi + 2]
push eax
call fcn.004c4aa4
add esp, 4
cmp eax, 0x5a
jne 0x4b9610
movzx ecx, word [esi + 4]
push ecx
call fcn.0047f8a0
test al, al
je 0x4b9610
movzx edx, word [esi + 6]
push edx
call fcn.0047f8a0
test al, al
je 0x4b9610
mov eax, dword [0x51ff6c]
push 0x4d8b60
push eax
call fcn.00462140
mov eax, dword [0x51ff6c]
cmp dword [0x5213fc], ebx
jne 0x4b963b
push eax
call fcn.004c3cbd
add esp, 4
mov dword [0x5213fc], eax
cmp eax, ebx
jne 0x4b9636
push 4
call fcn.004b8b90
mov eax, dword [0x51ff6c]
push eax
call fcn.004c3cbd
add esp, 4
mov dword [0x521404], eax
cmp eax, ebx
jne 0x4b9654
push 4
call fcn.004b8b90
mov dx, word [0x55045a]
cmp dx, 0x44
jne 0x4b96b5
or eax, 0xffffffff
cmp dword [0x4ea600], eax
jne 0x4b9695
cmp dword [0x521388], ebx
jne 0x4b9695
cmp dword [0x521384], ebx
jne 0x4b9695
cmp byte [0x54b184], bl
jne 0x4b9695
cmp dword [0x5897d0], ebx
jne 0x4b9695
cmp word [0x549076], bx
je 0x4b96b5
xor ecx, ecx
mov dword [0x4ea600], eax
mov dword [0x521388], ebx
mov dword [0x521384], ebx
mov dword [0x5897d0], ebx
mov word [0x549076], cx
mov eax, dword [0x521390]
mov ecx, dword [0x521398]
cmp eax, edi
je 0x4b96c8
cmp eax, ebp
jne 0x4b96d3
cmp ecx, ebx
je 0x4b96d3
xor eax, eax
mov dword [0x521390], eax
cmp dword [0x521468], ebx
je 0x4b96ea
cmp eax, ebx
jne 0x4b96e3
cmp ecx, ebx
je 0x4b96ea
push 0x10
call fcn.004b8b90
cmp dx, 0x41
je 0x4b96ff
cmp dword [0x521394], ebx
je 0x4b96ff
push 0x10
call fcn.004b8b90
lea ecx, [esp + 0x2368]
call fcn.00401550
push 0x1048
lea edx, [esp + 0x236c]
push ebx
push edx
call fcn.004c2670
mov ecx, dword [0x51ff6c]
add esp, 0xc
push ebx
lea eax, [esp + 0x236c]
push eax
push ecx
call fcn.00441e10
cmp dword [0x521390], ebp
jne 0x4b9952
push 0x814
lea edx, [esp + 0x33b4]
push edx
push str.rebuilt.
push 0x548076
call fcn.00460820
mov eax, dword [0x51ff6c]
push 0x814
push eax
call fcn.00460c50
push eax
lea ecx, [esp + 0x33b8]
push ecx
call fcn.0047fc20
lea edx, [esp + 0x33b0]
push edx
push 0x267
call fcn.00475cc0
push eax
call fcn.004a09e0
add esp, 8
lea eax, [esp + 0x33b0]
push eax
call fcn.0043d340
test al, al
je 0x4b97ec
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea ecx, [esp + 0x33c0]
push ecx
push ebx
call fcn.0040b990
cmp al, 0x4e
je 0x4b9944
cmp al, 0x43
je 0x4b9944
lea edx, [esp + 0x33b0]
push edx
call fcn.0043d460
lea eax, [esp + 0x33b0]
push eax
call fcn.0043cde0
lea edx, [esp + 0x33b0]
push edx
mov dword [0x51ff70], ebx
mov dword [0x51ff74], ebx
call fcn.004c3cbd
add esp, 4
mov dword [0x5213f0], eax
cmp eax, ebx
jne 0x4b9818
push 4
call fcn.004b8b90
push 0x4da468
push eax
call fcn.004c4e68
add esp, 8
mov dword [0x5213f4], eax
cmp eax, ebx
jne 0x4b9847
mov eax, dword [0x5213f0]
push eax
push ebx
mov ecx, 0x51ff10
call fcn.00434330
push 0xa
call fcn.004b8b90
call fcn.004c0660
cmp eax, ebx
je 0x4b9856
push eax
call fcn.004b8b90
mov esi, dword [0x521490]
mov ecx, dword [0x51ff70]
mov eax, dword [0x51ff74]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp esi, ebx
je 0x4b98ba
push esi
call fcn.004be130
cmp eax, ebx
jne 0x4b9850
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 [0x51ff70]
cdq
add ecx, eax
mov eax, dword [0x51ff74]
adc eax, edx
add edi, 1
mov dword [0x51ff70], ecx
mov dword [0x51ff74], eax
mov esi, dword [esi + 0x78]
adc ebp, ebx
cmp esi, ebx
jne 0x4b9877
mov esi, dword [0x521498]
mov edx, dword [esp + 0x18]
push esi
movzx esi, word [0x51ff64]
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.004be520
cmp eax, ebx
je 0x4b98ec
push eax
call fcn.004b8b90
mov ecx, dword [0x5213f4]
push ecx
call fcn.004c4622
add esp, 4
test eax, eax
je 0x4b9918
mov edx, dword [0x5213f0]
push edx
push ebx
mov ecx, 0x51ff10
call fcn.004343a0
push 0xa
call fcn.004b8b90
mov eax, dword [0x5213f8]
cmp eax, ebx
je 0x4b9930
push eax
call fcn.004c4622
add esp, 4
mov dword [0x5213f8], ebx
mov eax, dword [0x5213f0]
push eax
call fcn.004c23c4
add esp, 4
mov dword [0x5213f0], ebx
lea ecx, [esp + 0x2368]
push ecx
push ebx
jmp 0x4bacf7
call fcn.004c0660
cmp eax, ebx
je 0x4b9961
push eax
call fcn.004b8b90
mov eax, dword [0x521468]
cmp eax, 0xffffffff
jne 0x4b9973
mov dword [0x521468], ebx
jmp 0x4b99ea
cmp dword [0x521390], ebx
jne 0x4b99ea
cmp eax, ebx
jne 0x4b99ea
cmp dword [0x52140c], edi
jbe 0x4b99ea
mov edx, dword [0x5213fc]
push ebx
push edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.0043f430
push ebx
lea ecx, [esp + 0x1c]
push ecx
push ebx
push eax
mov dword [0x521400], eax
call fcn.00495a50
test eax, eax
jne 0x4b99bc
mov eax, 0x12
jmp 0x4bacfc
mov ecx, dword [0x521400]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
mov dword [0x521468], edi
mov dword [0x521470], edx
mov dword [0x521474], eax
call fcn.004c23c4
add esp, 4
mov dword [0x521400], ebx
mov dword [0x521410], ebx
cmp byte [0x54c1f8], bl
je 0x4b9a52
mov edx, dword [0x51ff6c]
push edx
call fcn.00460b80
test al, al
je 0x4b9a52
movzx eax, word [0x55045a]
push eax
push str.AFUM
call fcn.004c31c7
add esp, 8
test eax, eax
je 0x4b9a52
mov ecx, dword [0x51ff6c]
movzx edx, word [ecx]
push edx
lea eax, [esp + 0x33b4]
push 0x4da3f0
push eax
mov edx, 0x800
call fcn.00407810
add esp, 0xc
lea ecx, [esp + 0x33b0]
push ecx
call fcn.0043db30
cmp word [0x55045a], 0x44
jne 0x4b9a70
call fcn.00496200
cmp eax, ebx
je 0x4b9a70
cmp eax, 0xffffffff
je 0x4b9a70
push eax
call fcn.004b8b90
cmp word [0x55045a], 0x41
jne 0x4b9a7f
call fcn.00495f70
call fcn.0043e540
cmp dword [0x51ff68], ebx
je 0x4b9a9b
mov edx, dword [0x51ff60]
push edx
call fcn.004c23c4
add esp, 4
mov esi, dword [0x521490]
xor ebp, ebp
mov dword [0x5897c0], ebx
mov dword [0x5897c4], ebx
mov dword [0x5897c8], ebx
mov dword [0x5897cc], ebx
mov dword [esp + 0x1c], ebx
cmp esi, ebx
je 0x4b9d23
cmp dword [0x521394], ebx
je 0x4b9ae3
cmp dword [esi + 0x6c], ebx
setne al
mov byte [esi + 0x74], al
cmp al, bl
jne 0x4b9ae3
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp dword [esi + 0x6c], ebx
je 0x4b9d12
mov eax, dword [esi + 0x18]
add dword [0x5897c8], eax
mov ecx, dword [esi + 0x1c]
adc dword [0x5897cc], ecx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x30], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x34], eax
mov ax, word [0x55045a]
cmp ax, 0x44
je 0x4b9c32
cmp ax, 0x41
jne 0x4b9b36
cmp byte [0x54c1b4], bl
jne 0x4b9b36
cmp byte [0x54c1b3], bl
je 0x4b9c32
cmp dword [esi + 0x60], ebx
jne 0x4b9b56
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x4b9b4a
push eax
call fcn.004956e0
jmp 0x4b9b53
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.00495670
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.00495a50
mov edi, eax
cmp edi, ebx
sete al
cmp al, bl
jne 0x4b9bb6
cmp byte [0x54c1b4], bl
jne 0x4b9b85
cmp byte [0x54c1b3], bl
je 0x4b9bef
lea edx, [esp + 0x38]
push edx
push esi
call fcn.00495ec0
test al, al
je 0x4b9bac
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 0x4b9bb2
cmp edi, dword [esi + 8]
setbe al
cmp al, bl
je 0x4b9bef
mov edx, dword [0x5897d0]
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 0x4b9d12
mov eax, dword [esi + 0x18]
sub dword [0x5897c8], eax
mov ecx, dword [esi + 0x1c]
sbb dword [0x5897cc], ecx
jmp 0x4b9d12
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4b9c20
cmp eax, 0xfffffffe
jne 0x4b9c0a
cmp ecx, 0xffffffff
je 0x4b9c20
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x1c], eax
jmp 0x4b9d12
add ebp, 1
adc dword [esp + 0x1c], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
jmp 0x4b9d12
add ebp, 1
adc dword [esp + 0x1c], ebx
cmp ax, 0x44
je 0x4b9d12
mov eax, dword [0x54c190]
cmp eax, ebx
je 0x4b9d12
cmp eax, 2
sete byte [esp + 0x17]
cmp eax, 4
jne case.default.0x4b9cdb
mov edx, dword [esi + 0x60]
push 0x800
lea ecx, [esp + 0x33b4]
push ecx
push edx
call fcn.00460a40
lea eax, [esp + 0x33b0]
push eax
mov edi, 2
call fcn.00460740
movzx ecx, word [eax]
push ecx
call fcn.004607a0
test al, al
jne 0x4b9cd3
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.0040b990
mov edx, dword [str.YNANC]
cbw
movzx eax, ax
movzx ecx, ax
push ecx
push edx
call fcn.004c2180
sub eax, dword [str.YNANC]
add esp, 8
inc eax
mov edi, eax
add edi, 0xfffffffe
cmp edi, 3
ja case.default.0x4b9cdb
jmp dword [edi*4 + 0x4bad24]
mov dword [0x54c190], 1
jmp case.default.0x4b9cdb
mov dword [0x54c190], 2
jmp case.0x4b9cdb.2
push 0xff
mov ecx, 0x51ff10
call fcn.00433f40
cmp byte [esp + 0x17], bl
je 0x4b9d12
mov dword [esi + 0x6c], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4b9ac7
mov esi, dword [0x521490]
mov edi, dword [0x52149c]
cmp edi, ebx
je 0x4b9d8c
mov eax, dword [edi + 0x20]
add dword [0x5897c8], eax
mov ecx, dword [edi + 0x24]
adc dword [0x5897cc], ecx
xor eax, eax
cmp word [0x55045a], 0x44
je 0x4b9d7a
cmp byte [0x54c1b3], bl
jne 0x4b9d5f
mov edx, dword [edi + 0x14]
push ebx
push ebx
push ebx
push edx
call fcn.00495a50
cmp word [0x55045a], 0x44
je 0x4b9d7a
cmp byte [0x54c1b3], bl
jne 0x4b9d7a
cmp eax, ebx
je 0x4b9d7a
mov edi, dword [edi + 0x2c]
jmp 0x4b9d82
push edi
call fcn.0043e420
mov edi, eax
cmp edi, ebx
jne 0x4b9d2d
mov esi, dword [0x521490]
or ebp, dword [esp + 0x1c]
mov edx, dword [0x5897dc]
jne 0x4b9dea
cmp dword [0x52149c], ebx
jne 0x4b9dea
cmp byte [esp + 0x16], bl
jne 0x4b9dea
mov edi, dword [0x521390]
mov eax, dword [0x54c1e0]
mov ebp, dword [0x521398]
cmp esi, ebx
je 0x4b9e2f
cmp eax, 2
je 0x4b9dea
mov cx, word [0x55045a]
cmp cx, 0x53
je 0x4b9dea
cmp edi, ebx
jne 0x4b9dea
cmp ebp, ebx
jne 0x4b9dea
cmp edx, ebx
jne 0x4b9dea
cmp dword [0x5897d0], ebx
jne 0x4b9dea
cmp word [0x549076], bx
je 0x4b9e36
mov ebp, 1
cmp esi, ebx
je 0x4b9eb1
cmp dword [0x52140c], ebp
je 0x4b9eb1
mov eax, dword [0x51ff80]
cmp eax, 4
jne 0x4b9eb6
cmp dword [0x51ff84], ebx
jne 0x4b9eb6
xor eax, eax
mov dword [0x51ff80], eax
mov dword [0x51ff84], ebx
jmp 0x4b9eb6
mov cx, word [0x55045a]
cmp byte [0x54c1b4], bl
jne 0x4b9ea2
cmp byte [0x54c1b3], bl
jne 0x4b9ea2
cmp esi, ebx
jne 0x4b9e62
cmp eax, 2
je 0x4b9e5b
cmp edi, ebx
jne 0x4b9e5b
cmp ebp, ebx
jne 0x4b9e5b
cmp edx, ebx
je 0x4b9e62
push 0xd
call fcn.004b8b90
cmp cx, 0x41
jne 0x4b9e7b
push 0x340
call fcn.00475cc0
push eax
mov eax, dword [0x51ff6c]
push eax
jmp 0x4b9e93
cmp cx, 0x44
jne 0x4b9e9b
push 0x347
call fcn.00475cc0
mov ecx, dword [0x51ff6c]
push eax
push ecx
call fcn.004adf30
add esp, 8
push 0xc
call fcn.004b8b90
lea edx, [esp + 0x2368]
push edx
push 0xc
jmp 0x4bacf7
mov eax, dword [0x51ff80]
cmp dword [0x5897d8], ebx
je 0x4b9ed4
cmp esi, ebx
jne 0x4b9ed4
mov ecx, eax
or ecx, dword [0x51ff84]
jne 0x4b9ed4
mov dword [0x521408], ebx
jmp 0x4b9f18
mov edx, dword [0x51ff6c]
push edx
call fcn.0043cc50
mov dword [0x521408], eax
cmp eax, 0xffffffff
jne 0x4b9ef0
mov dword [0x521408], ebx
mov eax, dword [0x51ff80]
cmp dword [0x521490], ebx
jne 0x4b9f18
mov ecx, eax
or ecx, dword [0x51ff84]
jne 0x4b9f18
mov edx, dword [0x51ff6c]
push edx
call fcn.0043cde0
mov eax, dword [0x51ff80]
cmp dword [0x5897dc], ebx
je 0x4b9f2d
xor eax, eax
mov dword [0x51ff80], eax
mov dword [0x51ff84], ebx
or eax, dword [0x51ff84]
mov dword [0x51ff70], ebx
mov dword [0x51ff74], ebx
je 0x4b9fb2
mov eax, dword [0x5213fc]
push ebx
push eax
call fcn.0043f430
push 0x4da470
push eax
mov dword [0x521400], eax
call fcn.004c4e68
add esp, 8
mov dword [0x5213f8], eax
cmp eax, ebx
jne 0x4b9fb2
lea esp, [esp]
push ebx
call fcn.0043fd80
test eax, eax
jne 0x4b9fd0
mov ecx, dword [0x521400]
push ecx
call fcn.004c23c4
mov edx, dword [0x5213fc]
add esp, 4
push ebp
push edx
call fcn.0043f430
push 0x4da470
push eax
mov dword [0x521400], eax
call fcn.004c4e68
add esp, 8
mov dword [0x5213f8], eax
cmp eax, ebx
je 0x4b9f70
mov ecx, dword [0x51ff6c]
push ecx
call fcn.0043d340
cmp al, bl
je 0x4b9fe8
mov edx, dword [0x51ff6c]
push edx
call fcn.0043e6b0
jmp 0x4b9ff6
mov eax, dword [0x521400]
push eax
push ebx
mov ecx, 0x51ff10
call fcn.00434300
push 9
call fcn.004b8b90
mov eax, dword [0x51ff6c]
push eax
call fcn.004c3cbd
add esp, 4
mov dword [0x5213f0], eax
cmp eax, ebx
jne 0x4ba006
push 4
call fcn.004b8b90
push 0x4da468
push eax
call fcn.004c4e68
add esp, 8
mov dword [0x5213f4], eax
cmp eax, ebx
jne 0x4ba036
mov ecx, dword [0x5213f0]
push ecx
push ebx
mov ecx, 0x51ff10
call fcn.004343a0
push 0xa
call fcn.004b8b90
push 0x4000
call fcn.004c2cc7
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x4ba052
push 4
call fcn.004b8b90
mov edx, dword [0x5213f4]
push 0x4000
push ebx
push eax
push edx
call fcn.004c6671
mov eax, dword [0x5213f4]
add esp, 0x10
push eax
mov dword [0x4ea610], ebp
call fcn.004c0c80
test eax, eax
jne 0x4ba089
mov dword [0x4ea610], ebx
mov dword [0x5213d0], ebp
cmp word [0x547070], bx
je 0x4ba273
push 0x547070
mov esi, 0x4d8ecc
call fcn.00460c50
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4ba0cb
cmp cx, bx
je 0x4ba0c7
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4ba0cb
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4ba0a5
xor eax, eax
jmp 0x4ba0d0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4ba15f
push 0x4da470
push 0x547070
call fcn.0043d170
mov edi, eax
cmp edi, ebx
jne 0x4ba104
push 0x55147a
push ebx
mov ecx, 0x51ff10
call fcn.00434300
push 0x12
call fcn.004b8b90
push edi
push 0x1000
lea ecx, [esp + 0x33b8]
push ebp
push ecx
call fcn.004c5285
mov esi, eax
add esp, 0x10
cmp esi, ebx
jbe 0x4ba156
push ebx
push esi
push ebp
lea edx, [esp + 0x33bc]
push edx
call fcn.0043f6d0
cmp eax, esi
jne 0x4ba251
push edi
push 0x1000
lea eax, [esp + 0x33b8]
push ebp
push eax
call fcn.004c5285
mov esi, eax
add esp, 0x10
cmp esi, ebx
ja 0x4ba121
push edi
call fcn.004c4622
add esp, 4
mov eax, dword [0x5213f8]
cmp eax, ebx
je 0x4ba182
push eax
call fcn.004c4622
mov eax, dword [0x521400]
push eax
mov dword [0x5213f8], ebx
call fcn.004c23c4
add esp, 8
mov ecx, dword [0x51ff80]
mov edx, dword [0x51ff84]
mov dword [0x51ff70], ecx
mov dword [0x51ff74], edx
cmp dword [0x521468], ebx
je 0x4ba1d9
push ebx
push 4
push ebp
push 0x51ff90
mov byte [0x51ff90], 0x50
mov byte [0x51ff91], 0x4b
mov byte [0x51ff92], 7
mov byte [0x51ff93], 8
call fcn.0043f6d0
add dword [0x51ff70], 4
adc dword [0x51ff74], ebx
cmp word [0x55045a], 0x41
mov dword [esp + 0x2c], ebx
jne 0x4ba201
cmp dword [0x521490], ebx
mov edx, dword [0x51ff6c]
setne al
movzx ecx, al
push ecx
push edx
push ebp
call fcn.0040a580
mov esi, dword [0x521490]
mov edi, 0x521490
mov dword [esp + 0x24], edi
cmp esi, ebx
je 0x4ba5b3
cmp dword [esi + 0x6c], ebp
jne 0x4ba417
cmp word [0x55045a], 0x44
je 0x4ba36f
push esi
lea eax, [esp + 0x24]
push eax
call fcn.004bf4f0
test eax, eax
je 0x4ba2a9
mov cx, word [esi + 4]
xor edx, edx
mov word [esi + 0x2e], cx
mov word [esi + 0x22], dx
jmp 0x4ba30d
mov ecx, dword [0x5213f0]
push ecx
push ebx
mov ecx, 0x51ff10
call fcn.004343a0
push edi
call fcn.004c4622
add esp, 4
push 0xe
call fcn.004b8b90
cmp dword [0x5213f8], ebx
je 0x4ba182
mov ecx, dword [0x51ff80]
mov eax, dword [0x51ff84]
mov edx, ecx
or edx, eax
je 0x4ba15f
push eax
push ecx
call fcn.0043fe70
cmp eax, ebx
je 0x4ba15f
push eax
call fcn.004b8b90
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 0x4ba2ef
mov edx, dword [eax + 0x4c]
push edx
call fcn.004c23c4
mov eax, dword [esp + 0x24]
add esp, 4
cmp word [eax + 0x20], bx
je 0x4ba2ef
mov eax, dword [eax + 0x3c]
push eax
call fcn.004c23c4
mov eax, dword [esp + 0x24]
add esp, 4
cmp dword [eax + 0x58], ebx
je 0x4ba304
mov ecx, dword [eax + 0x58]
push ecx
call fcn.004c23c4
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004c23c4
add esp, 4
mov edx, dword [esi + 0x60]
push ebx
push ebx
push ebp
push edx
push ebp
call fcn.0040a5c0
push esi
call fcn.004c0e50
cmp eax, ebx
je 0x4ba332
cmp eax, 0x12
je 0x4ba340
cmp eax, 0xffffffff
jne 0x4ba615
cmp eax, 0x12
je 0x4ba340
cmp eax, 0xffffffff
jne 0x4ba5a2
mov eax, dword [esi + 0x60]
mov ecx, dword [0x51ff6c]
push eax
push ecx
mov ecx, 0x51ff10
mov dword [esp + 0x34], ebp
call fcn.00434300
push esi
call fcn.004be920
cmp eax, ebx
jne 0x4b9850
mov dword [esi + 0x6c], ebx
jmp 0x4ba5a2
cmp byte [0x535c28], bl
jne 0x4ba5b3
mov edx, dword [esi + 0x54]
push ebx
push ebx
push edx
call fcn.0047fd10
push eax
call fcn.0040b4c0
mov eax, dword [esi + 0x4c]
mov ebp, dword [esi + 0x78]
push eax
call fcn.004c23c4
mov ecx, dword [esi + 0x50]
push ecx
call fcn.004c23c4
mov edx, dword [esi + 0x54]
push edx
call fcn.004c23c4
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebx
je 0x4ba3bd
push eax
call fcn.004c23c4
add esp, 4
cmp word [esi + 0x22], bx
je 0x4ba3d3
mov eax, dword [esi + 0x40]
cmp eax, ebx
je 0x4ba3d3
push eax
call fcn.004c23c4
add esp, 4
cmp word [esi + 0x24], bx
je 0x4ba3ea
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x40]
je 0x4ba3ea
push eax
call fcn.004c23c4
add esp, 4
cmp word [esi + 0x26], bx
je 0x4ba3fc
mov eax, dword [esi + 0x48]
push eax
call fcn.004c23c4
add esp, 4
push esi
call fcn.004c23c4
mov dword [edi], ebp
add esp, 4
dec dword [0x51ff68]
mov ebp, 1
jmp 0x4ba5a9
cmp dword [0x521394], ebx
je 0x4ba428
cmp byte [esi + 0x74], bl
je 0x4ba5a2
cmp word [0x55045a], 0x44
jne 0x4ba443
mov ecx, dword [esi + 0x54]
push ebp
push ebx
push ecx
call fcn.0047fd10
push eax
call fcn.0040b4c0
mov edi, dword [0x521390]
cmp byte [esp + 0x16], bl
je 0x4ba58e
lea ecx, [esp + 0x68]
call fcn.00402350
mov dword [esp + 0x43e4], ebx
push 0x2300
lea edx, [esp + 0x6c]
push ebx
push edx
call fcn.004c2670
mov eax, dword [esi + 0x4c]
add esp, 0xc
push eax
call fcn.004a0200
movsx ecx, byte [eax]
push ecx
call fcn.004607a0
mov edx, dword [esi + 8]
push edx
lea ecx, [esp + 0x109c]
mov byte [esp + 0x1b], al
call fcn.00483110
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.00460a40
lea ecx, [esp + 0x68]
push ecx
push 0x546060
call fcn.00462820
test al, al
je 0x4ba57a
cmp byte [esp + 0x17], bl
je 0x4ba4f5
push 0x800
lea edx, [esp + 0x8c]
push edx
call fcn.004607d0
push 0x800
push ebx
lea eax, [esp + 0x90]
push eax
call fcn.00460ae0
push 0x800
lea ecx, [esp + 0x33b4]
push ecx
lea edx, [esp + 0x90]
push edx
call fcn.00487240
mov eax, dword [esi + 0x4c]
push eax
call fcn.004c23c4
lea ecx, [esp + 0x33b4]
push ecx
call fcn.004d225b
mov edx, dword [esi + 0x64]
push edx
mov dword [esi + 0x4c], eax
call fcn.004c23c4
lea eax, [esp + 0x94]
push eax
call fcn.004c3cbd
mov ecx, dword [esi + 0x58]
push ecx
mov dword [esi + 0x64], eax
call fcn.004c23c4
add esp, 0x14
lea edx, [esp + 0x88]
push edx
call fcn.00495760
mov dword [esi + 0x58], eax
mov dword [0x521390], 3
mov dword [esp + 0x43e4], 0xffffffff
lea ecx, [esp + 0x68]
call fcn.004019f0
push esi
call fcn.004be920
mov dword [0x521390], edi
cmp eax, ebx
jne 0x4b9850
lea edi, [esi + 0x78]
mov dword [esp + 0x24], edi
mov esi, dword [edi]
cmp esi, ebx
jne 0x4ba218
mov edi, dword [0x52149c]
cmp edi, ebx
je 0x4ba76f
cmp byte [0x535c28], bl
jne 0x4ba76f
push 0x80
call fcn.004c2cc7
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4b95b1
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.0043ecf0
cmp dword [esi + 0x58], ebx
jne 0x4ba629
cmp eax, ebx
jne 0x4ba623
mov edx, dword [edi + 0x10]
mov dword [esi + 0x58], edx
jmp 0x4ba635
cmp byte [0x535c28], bl
jne 0x4ba5b3
push eax
call fcn.004b8b90
mov eax, dword [edi + 0x10]
push eax
jmp 0x4ba62d
mov ecx, dword [edi + 0x10]
push ecx
call fcn.004c23c4
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.0040a5c0
push esi
call fcn.004c0e50
cmp eax, ebx
je 0x4ba6b3
cmp eax, 0x12
je 0x4ba6d2
cmp eax, 0xffffffff
jne 0x4ba7c1
cmp eax, 0x12
je 0x4ba6d2
cmp eax, 0xffffffff
je 0x4ba6d2
mov eax, dword [esp + 0x24]
mov dword [eax], esi
inc dword [0x51ff68]
mov dword [esp + 0x24], ebp
jmp 0x4ba75f
mov ecx, dword [esi + 0x60]
mov edx, dword [0x51ff6c]
push ecx
push edx
mov ecx, 0x51ff10
mov dword [esp + 0x34], 1
call fcn.00434300
mov eax, dword [esi + 0x3c]
push eax
call fcn.004c23c4
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004c23c4
mov edx, dword [esi + 0x50]
push edx
call fcn.004c23c4
mov eax, dword [esi + 0x54]
push eax
call fcn.004c23c4
mov eax, dword [esi + 0x58]
add esp, 0x10
cmp eax, ebx
je 0x4ba726
push eax
call fcn.004c23c4
add esp, 4
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x4ba736
push eax
call fcn.004c23c4
add esp, 4
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x4ba746
push eax
call fcn.004c23c4
add esp, 4
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x4ba756
push eax
call fcn.004c23c4
add esp, 4
push esi
call fcn.004c23c4
add esp, 4
push edi
call fcn.0043e420
mov edi, eax
cmp edi, ebx
jne 0x4ba5c1
cmp word [0x549076], bx
je 0x4ba974
cmp dword [0x521390], ebx
jne 0x4ba974
push 0x4da470
push 0x549076
call fcn.004c4e68
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
cmp esi, ebx
jne 0x4ba7cf
mov ecx, dword [0x51ff6c]
push 0x549076
push ecx
mov ecx, 0x51ff10
call fcn.00434300
push 0x12
call fcn.004b8b90
cmp byte [0x535c28], bl
jne 0x4ba76f
push eax
call fcn.004b8b90
cmp word [0x51ff64], bx
je 0x4ba7e7
mov edx, dword [0x521498]
push edx
call fcn.004c23c4
add esp, 4
push 0x8000
call fcn.004c2cc7
add esp, 4
mov dword [0x521498], eax
cmp eax, ebx
jne 0x4ba804
push 4
call fcn.004b8b90
push esi
push 0x7fff
push 1
push eax
call fcn.004c5285
mov ecx, dword [0x521498]
mov word [0x51ff64], ax
movzx eax, ax
add esp, 0x10
mov byte [eax + ecx], bl
cmp dword [0x54a078], 2
jne 0x4ba83d
mov eax, dword [0x521498]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x54a078], 3
jne 0x4ba96b
mov ecx, dword [0x521498]
mov al, byte [ecx]
mov dword [esp + 0x20], ecx
cmp al, 0xff
jne 0x4ba867
cmp byte [ecx + 1], 0xfe
jne 0x4ba867
mov edi, 1
jmp 0x4ba869
xor edi, edi
cmp al, 0xfe
jne 0x4ba87a
cmp byte [ecx + 1], 0xff
jne 0x4ba87a
mov ebp, 1
jmp 0x4ba87c
xor ebp, ebp
movzx edx, word [0x51ff64]
inc edx
push edx
lea ecx, [esp + 0x3c]
call fcn.0040c530
mov dword [esp + 0x43e4], 1
xor edx, edx
lea ecx, [edx + 2]
cmp edi, ebx
jne 0x4ba8ab
cmp ebp, ebx
jne 0x4ba8ab
lea edi, [edx + 1]
xor ecx, ecx
movzx eax, word [0x51ff64]
mov esi, dword [esp + 0x38]
cmp ecx, eax
jae 0x4ba8ff
lea eax, [ecx + ebp]
add eax, dword [esp + 0x20]
sub edi, ebp
mov dword [esp + 0x20], edi
jmp 0x4ba8d4
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 [0x51ff64]
add ecx, 2
inc edx
add eax, 2
cmp ecx, edi
jb 0x4ba8d0
xor ecx, ecx
push 0x7fff
mov word [esi + edx*2], cx
mov edx, dword [0x521498]
push ebx
push edx
call fcn.004c2670
mov eax, dword [0x521498]
add esp, 0xc
push 0x7ffe
push eax
push esi
call fcn.00487240
mov ecx, dword [0x521498]
mov byte [ecx + 0x7ffe], bl
mov eax, dword [0x521498]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4ba940
sub eax, edx
mov word [0x51ff64], ax
mov dword [esp + 0x43e4], 0xffffffff
cmp esi, ebx
je 0x4ba967
push esi
call fcn.004c23c4
add esp, 4
mov esi, dword [esp + 0x24]
push esi
call fcn.004c4622
add esp, 4
mov esi, dword [0x521490]
mov ecx, dword [0x51ff70]
mov edx, dword [0x51ff74]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov edi, ecx
mov ebp, edx
cmp esi, ebx
je 0x4ba9ee
cmp dword [0x521394], ebx
je 0x4ba9a3
cmp byte [esi + 0x74], bl
je 0x4ba9e7
push esi
call fcn.004be130
cmp eax, ebx
jne 0x4b9850
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 [0x51ff70]
cdq
add ecx, eax
adc dword [0x51ff74], edx
add dword [esp + 0x24], 1
mov edx, dword [0x51ff74]
mov dword [0x51ff70], ecx
adc dword [esp + 0x28], ebx
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4ba996
sub ecx, edi
sbb edx, ebp
mov eax, ecx
mov ecx, edx
mov edx, dword [0x521498]
push edx
movzx edx, word [0x51ff64]
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.004be520
cmp eax, ebx
je 0x4baa22
push eax
call fcn.004b8b90
mov edx, dword [0x5213f4]
push edx
call fcn.004c4622
add esp, 4
test eax, eax
je 0x4baa4d
mov eax, dword [0x5213f0]
push eax
push ebx
mov ecx, 0x51ff10
call fcn.004343a0
push 0xa
call fcn.004b8b90
mov eax, dword [0x5213f8]
mov dword [0x5213f4], ebx
cmp eax, ebx
je 0x4baa6b
push eax
call fcn.004c4622
add esp, 4
mov dword [0x5213f8], ebx
cmp byte [0x535c28], bl
je 0x4baacb
mov ecx, dword [0x5213f0]
push ecx
call fcn.0043cde0
mov edx, dword [0x54c1c0]
or edx, dword [0x54c1c4]
je 0x4bac7a
xor esi, esi
cmp dword [0x521424], ebx
jbe 0x4bac7a
nop
mov eax, dword [0x51ff6c]
push esi
push eax
call fcn.0043f580
mov edi, eax
push edi
call fcn.0043cde0
push edi
call fcn.004c23c4
inc esi
add esp, 4
cmp esi, dword [0x521424]
jb 0x4baaa0
jmp 0x4bac7a
cmp word [0x547070], bx
je 0x4babc2
push 0x547070
mov esi, 0x4d8ecc
call fcn.00460c50
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4bab0d
cmp cx, bx
je 0x4bab09
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4bab0d
add eax, 4
add esi, 4
cmp cx, bx
jne 0x4baae7
xor eax, eax
jmp 0x4bab12
sbb eax, eax
sbb eax, 0xffffffff
mov esi, 0x4d8b60
cmp eax, ebx
je 0x4bab20
mov esi, 0x4d881c
mov ecx, dword [0x51ff6c]
push esi
push ecx
call fcn.00460e70
test al, al
jne 0x4babc2
mov edx, dword [0x51ff6c]
push 0x800
push edx
lea eax, [esp + 0x33b8]
push eax
call fcn.0047fbe0
push esi
lea ecx, [esp + 0x33b4]
push ecx
call fcn.00462140
lea edx, [esp + 0x33b0]
push edx
call fcn.0043d340
test al, al
je 0x4bab96
push ebx
push ebx
push 0x7fffffff
push 0x7fffffff
lea eax, [esp + 0x33c0]
push eax
push ebx
call fcn.0040b990
cmp al, 0x43
je 0x4bab8f
cmp al, 0x4e
jne 0x4bab96
push 9
call fcn.004b8b90
mov ecx, dword [0x51ff6c]
push ecx
call fcn.004c23c4
lea edx, [esp + 0x33b4]
push edx
call fcn.004c3cbd
add esp, 8
mov dword [0x51ff6c], eax
cmp eax, ebx
jne 0x4babc7
push 4
call fcn.004b8b90
mov eax, dword [0x51ff6c]
mov ecx, dword [0x5213f0]
push ecx
push eax
call fcn.0043fb10
mov esi, eax
cmp esi, ebx
je 0x4bac40
mov edx, dword [0x51ff6c]
mov eax, dword [0x5213f0]
push edx
push eax
push 0x208
call fcn.00475cc0
push eax
push ebx
call fcn.004adf30
add esp, 0x10
mov ecx, 0x51ff10
call fcn.00433f70
cmp esi, 0xf
jne 0x4bac26
mov ecx, dword [0x51ff6c]
push ecx
call fcn.0043d340
test al, al
je 0x4bac26
mov edx, dword [0x51ff6c]
push edx
call fcn.0043cde0
mov eax, dword [0x5213f0]
push eax
call fcn.004c23c4
add esp, 4
push esi
mov dword [0x5213f0], ebx
call fcn.004b8b90
mov ecx, dword [0x5213f0]
push ecx
call fcn.004c23c4
mov eax, dword [0x521408]
add esp, 4
cmp eax, ebx
je 0x4bac65
mov edx, dword [0x51ff6c]
push eax
push edx
call fcn.0043ccc0
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x4bac7a
mov eax, dword [0x51ff6c]
push eax
call fcn.0043cde0
mov dword [0x5213f0], ebx
cmp byte [0x54c1b0], bl
je 0x4bacd6
cmp byte [0x535c28], bl
jne 0x4bacd6
mov esi, dword [0x521490]
cmp esi, ebx
je 0x4bacd6
lea ebx, [ebx]
cmp dword [esi + 0x6c], ebx
je 0x4baccf
mov ecx, dword [esi + 0x60]
push ecx
call fcn.004c1970
test eax, eax
jne 0x4baccf
mov edx, dword [esi + 0x60]
push edx
push 0x4bf
call fcn.00475cc0
push eax
mov eax, dword [0x51ff6c]
push eax
call fcn.004adf30
add esp, 0xc
mov esi, dword [esi + 0x78]
cmp esi, ebx
jne 0x4baca0
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004c23c4
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.004b8f10
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.004c1c22
add esp, 0x43d4
ret