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

Disassembly:
push 0xffffffffffffffff
push 0xa4eb80
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0xcdc190]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0xcdc190]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov edi, dword [esp + 0x88]
mov esi, ecx
mov byte [edi + esi + 0x1a9c], 0
inc dword [esi + 0x70]
mov eax, dword [esi + edi*4 + 0x13f4]
mov ecx, dword [eax + 0x1a4]
xor ebx, ebx
cmp ecx, ebx
je 0x47b18e
call fcn.00465730
mov ecx, dword [esi + 0x68]
mov ebp, edi
imul ebp, ebp, 0x9a
lea eax, [ecx + ebp]
movzx ecx, byte [eax + 0x24]
sub ecx, 1
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
je 0x47b1ee
sub ecx, 1
je 0x47b1d7
sub ecx, 1
jne 0x47b1ff
movzx ecx, byte [eax + 0x8e]
movzx edx, byte [eax + 0x8f]
dec ecx
mov dword [esp + 0x18], ecx
mov cx, word [eax + 0x8c]
mov word [eax + 0x1d], cx
jmp 0x47b1fb
movzx ecx, byte [eax + 0x23]
movzx edx, byte [eax + 0x26]
dec ecx
mov dword [esp + 0x18], ecx
mov cx, word [eax + 0x1f]
mov word [eax + 0x1d], cx
jmp 0x47b1fb
movzx ecx, byte [eax + 0x22]
movzx edx, byte [eax + 0x25]
dec ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov eax, dword [esi + 0x68]
movzx edx, word [eax + ebp + 0x1d]
add eax, ebp
push 0x17
lea ecx, [eax + 0x2d]
push ecx
mov ecx, dword [esi + edi*4 + 0x13f4]
push edx
call fcn.0047eb00
mov eax, dword [edi*4 + 0xbc0660]
mov ecx, dword [edi*4 + 0xbc066c]
mov edx, dword [edi*4 + 0xbc0678]
mov dword [esp + 0x20], eax
mov eax, dword [edi*4 + 0xbc0684]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi*4 + 0xbc0690]
mov dword [esp + 0x28], edx
lea edx, [esp + 0x20]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push ecx
mov ecx, dword [esi + edi*4 + 0x13dc]
call fcn.00899b10
mov edx, dword [esi + 0x68]
movzx ecx, byte [ebx + edx + 0x21]
mov ecx, dword [ecx*4 + 0xa99e54]
add dword [esp + 0x14], 4
add ebx, 0x9a
cmp ebx, 0x302
mov dword [eax + 0x57c], ecx
jl 0x47b25b
mov edx, dword [esi + 0x68]
movzx ebx, byte [edx + ebp + 0x21]
mov ecx, dword [esi + edi*4 + 0x13e8]
push ebx
push ebx
push 0
call fcn.00898b00
mov ecx, dword [esi + edi*4 + 0x13e8]
push ebx
push ebx
push 1
call fcn.00898b00
mov ecx, dword [esi + edi*4 + 0x13e8]
push ebx
push ebx
push 2
call fcn.00898b00
mov eax, dword [esi + 0x68]
push 0
push 1
lea ecx, [eax + ebp + 9]
push 0
push ecx
mov ecx, dword [esi + edi*4 + 0x1400]
call fcn.0089d0e0
call fcn.00626140
mov ebx, eax
mov dword [esp + 0x14], ebx
mov byte [ebx], 0
mov edx, dword [esi + 0x68]
movzx eax, word [edx + ebp + 0x1d]
push 0
push 1
push 0
dec eax
push eax
lea ecx, [esp + 0x24]
push str.CharTypeNames_d
push ecx
mov dword [esp + 0x98], 0
call fcn.00417090
add esp, 0xc
push eax
mov ecx, esi
call fcn.00478330
mov ecx, dword [esi + edi*4 + 0x140c]
push eax
call fcn.0089d0e0
push ebx
mov dword [esp + 0x84], 0xffffffff
call fcn.00626120
add esp, 4
call fcn.00626140
mov ebx, eax
mov dword [esp + 0x14], ebx
mov byte [ebx], 0
mov edx, dword [esp + 0x18]
push 0
push 1
push 0
push edx
lea eax, [esp + 0x24]
push str.CharJobNames_d
push eax
mov dword [esp + 0x98], 1
call fcn.00417090
add esp, 0xc
push eax
mov ecx, esi
call fcn.00478330
mov ecx, dword [esi + edi*4 + 0x1418]
push eax
call fcn.0089d0e0
push ebx
mov dword [esp + 0x84], 0xffffffff
call fcn.00626120
add esp, 4
call fcn.00626140
mov ebx, eax
mov dword [esp + 0x14], ebx
mov byte [ebx], 0
mov ecx, dword [esi + 0x68]
movzx edx, word [ecx + ebp + 0x2b]
push 0
push 1
push 0
push edx
lea eax, [esp + 0x24]
push 0xa90810
push eax
mov dword [esp + 0x98], 2
call fcn.00417090
mov ecx, dword [esi + edi*4 + 0x1424]
add esp, 0xc
push eax
call fcn.0089d0e0
push ebx
mov dword [esp + 0x84], 0xffffffff
call fcn.00626120
mov ecx, dword [esi + 0x68]
mov edx, dword [ecx + ebp + 0x27]
push edx
lea eax, [esp + 0x5c]
push 0xa90810
push eax
call fcn.00a2a041
lea eax, [esp + 0x64]
add esp, 0x10
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47b424
sub eax, ecx
mov ebx, eax
xor ecx, ecx
test ebx, ebx
jle 0x47b471
lea edx, [esp + 0x54]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
mov dl, byte [eax]
mov byte [esp + ecx + 0x34], dl
inc eax
dec ebx
inc ecx
mov dword [esp + 0x14], eax
test ebx, ebx
jle 0x47b471
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov edx, ebx
sub edx, eax
jne 0x47b43d
mov byte [esp + ecx + 0x34], 0x2c
inc ecx
jmp 0x47b43d
push 0
push 1
push 0
lea eax, [esp + 0x40]
mov byte [esp + ecx + 0x40], 0
mov ecx, dword [esi + edi*4 + 0x1448]
push eax
call fcn.0089d0e0
call fcn.00626140
mov ebx, eax
mov dword [esp + 0x14], ebx
mov byte [ebx], 0
mov ecx, dword [esi + 0x68]
movzx edx, word [ecx + ebp + 0x1d]
push edx
lea eax, [esp + 0x18]
push str.datacharacterchr_03d.nri
push eax
mov dword [esp + 0x8c], 3
call fcn.00417090
add esp, 0xc
push 2
push 0xea60
push 1
push 0
push 1
push eax
mov ecx, 0xdaf3e8
call fcn.008e94c0
push ebx
mov dword [esi + edi*4 + 0x1464], eax
mov dword [esp + 0x84], 0xffffffff
call fcn.00626120
mov ecx, dword [esi + 0x68]
add esp, 4
cmp byte [ecx + ebp + 0x24], 3
jne 0x47b57a
call fcn.00626140
mov ebx, eax
mov dword [esp + 0x14], ebx
mov byte [ebx], 0
mov edx, dword [esi + 0x68]
movzx eax, byte [edx + ebp + 0x8e]
push eax
lea ecx, [esp + 0x18]
push str.datacharacterpaljob_03d.pal
push ecx
mov dword [esp + 0x8c], 4
call fcn.00417090
add esp, 0xc
push 0
push 0xea60
push 1
push 0
push 0xc
push eax
mov ecx, 0xdaf3e8
call fcn.008e94c0
push ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x84], 0xffffffff
call fcn.00626120
mov eax, dword [esp + 0x18]
mov edx, edi
add esp, 4
imul edx, edx, 0x202
lea ecx, [edx + esi + 0x1470]
jmp 0x47b595
mov ecx, dword [esi + edi*4 + 0x1464]
call fcn.00572400
mov ecx, edi
imul ecx, ecx, 0x202
lea ecx, [ecx + esi + 0x1470]
push 0x100
push 0
push eax
mov dword [esp + 0x24], ecx
call fcn.0056beb0
call fcn.00626140
mov ebx, eax
mov dword [esp + 0x14], ebx
mov byte [ebx], 0
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x1c]
movzx ecx, word [eax + ebp + 0x1d]
push edx
push ecx
lea edx, [esp + 0x1c]
push str.datapartchr_03d__d.pal
push edx
mov dword [esp + 0x90], 5
call fcn.00417090
add esp, 0x10
push 0
push 0xea60
push 1
push 0
push 0xc
push eax
mov ecx, 0xdaf3e8
call fcn.008e94c0
push ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x84], 0xffffffff
call fcn.00626120
mov ebx, dword [esp + 0x18]
add esp, 4
test ebx, ebx
je 0x47b68d
mov ecx, dword [esp + 0x18]
push 0x30
push 0xd0
push ebx
call fcn.0056beb0
push ebx
mov ecx, 0xdaf3e8
call fcn.008e8890
mov eax, dword [0xd39a48]
mov edx, dword [0xd39a44]
lea ecx, [eax*4 + 4]
push ecx
push 0
push edx
call fcn.00a2a210
add esp, 0xc
mov ecx, 0xd39a4c
call fcn.00922e80
mov ecx, 0xd39a60
call fcn.00478d40
mov ecx, 0xd39a10
mov dword [0xd39ae4], 0xd39a70
mov dword [0xd39aa4], 0xd39aac
mov dword [0xd39ae8], 0
call fcn.00625530
xor ebx, ebx
nop
mov ecx, dword [esi + 0x68]
lea eax, [ebp + ebx*4]
mov eax, dword [eax + ecx + 0x55]
test eax, eax
je 0x47b717
push eax
mov ecx, 0xce48a0
call fcn.004aad80
mov ecx, dword [eax + 0x8c]
mov eax, ecx
lea edx, [eax + 1]
mov dword [esp + 0x14], edx
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47b6c0
sub eax, dword [esp + 0x14]
je 0x47b717
push 0
push 0xea60
push 1
push 0
push 0xc
push ecx
mov ecx, 0xdaf3e8
call fcn.008e94c0
test eax, eax
je 0x47b717
mov ecx, dword [esi + 0x68]
movzx ecx, word [ecx + ebp + 0x1d]
lea edx, [ecx + ecx*4]
lea ecx, [ebx + edx*2]
movzx edx, word [ecx + ecx + 0xa99e68]
add ecx, ecx
movzx ecx, word [ecx + 0xa9a060]
sub ecx, edx
inc ecx
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
call fcn.0056beb0
inc ebx
cmp ebx, 0xa
jl 0x47b690
mov edx, dword [esi + edi*4 + 0x13f4]
mov eax, dword [esp + 0x18]
mov dword [edx + 0x4c], eax
mov ecx, dword [esi + edi*4 + 0x13f4]
mov edx, dword [ecx]
mov eax, dword [esi + edi*4 + 0x1464]
mov edx, dword [edx + 0x28]
push 0
push 3
push 0xa99e40
push eax
call edx
mov ecx, dword [esi + edi*4 + 0x13f4]
push 0xffffffffffffffff
push 0
push 0
call fcn.00898b00
mov ecx, dword [esi + edi*4 + 0x13f4]
push 0xffffffffffffffff
push 0
push 1
call fcn.00898b00
mov ecx, dword [esi + edi*4 + 0x13f4]
push 0xffffffffffffffff
push 0
push 2
call fcn.00898b00
mov ecx, dword [esi + edi*4 + 0x13dc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x3c]
push 1
call edx
push edi
mov ecx, esi
call fcn.004786b0
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00a2a4ac
add esp, 0x70
ret 4