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

Disassembly:
sub esp, 0x40
push ebx
mov ebx, dword [esp + 0x4c]
push ebp
push esi
mov esi, dword [esp + 0x50]
mov ebp, dword [esi + 8]
push edi
xor edi, edi
mov byte [esp + 0x13], 0
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x28], ebp
call fcn.004db800
mov edx, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*2]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0x40]
shl eax, 4
mov dword [esp + 0x14], edi
mov edi, dword [ebx + 0x14]
add eax, edi
mov dword [esp + 0x18], ecx
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x30], eax
cmp edi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
jae 0x4fd465
mov ebp, esi
jmp 0x4fd2da
mov ebp, dword [esp + 0x54]
mov edx, dword [eax]
or edx, dword [eax + 4]
mov esi, dword [edi]
jne 0x4fd327
test byte [edi + 0x14], 2
jne 0x4fd327
test byte [esi + 4], 1
jne 0x4fd327
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x30]
push ecx
mov ecx, esi
call fcn.004d1bd0
add esp, 4
test eax, eax
je 0x4fd327
mov eax, dword [ebp]
push 0
push 0
push esi
push eax
call fcn.004db5a0
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp]
push edx
call fcn.004d7930
add esp, 0x14
mov dword [esp + 0x24], eax
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x5c]
cmp eax, dword [ecx + 0x30]
jne 0x4fd44c
test byte [edi + 0x12], 0x82
je 0x4fd44c
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
and eax, dword [esp + 0x60]
and ecx, dword [esp + 0x64]
or eax, ecx
jne 0x4fd44c
mov eax, dword [edi + 0xc]
test eax, eax
jl 0x4fd44c
mov edx, dword [esp + 0x5c]
mov ecx, dword [edx + 0x10]
mov esi, dword [edi]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 4]
mov cl, byte [eax + edx*8 + 0x15]
mov byte [esp + 0x12], cl
call fcn.004d76e0
movsx eax, al
sub eax, 0x41
je 0x4fd3a9
sub eax, 1
je 0x4fd397
xor eax, eax
cmp byte [esp + 0x12], 0x43
setge al
jmp 0x4fd3a1
xor eax, eax
cmp byte [esp + 0x12], 0x42
sete al
test eax, eax
je 0x4fd44c
mov esi, dword [edi + 0xc]
cmp esi, 0x40
jl 0x4fd3bd
xor ebp, ebp
mov dword [esp + 0x4c], SysReAllocString
jmp 0x4fd3d1
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.005543f0
mov ebp, eax
mov dword [esp + 0x4c], edx
cmp byte [esp + 0x13], 0
jne 0x4fd400
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
lea edx, [esi + esi*2]
mov edx, dword [ecx + edx*8]
push edx
push eax
push str.automatic_index_on__s__s_
push 0x11c
call fcn.004e01f0
add esp, 0x10
mov byte [esp + 0x13], 1
mov ecx, dword [esp + 0x4c]
mov eax, ebp
and eax, dword [esp + 0x40]
and ecx, ebx
or eax, ecx
jne 0x4fd44c
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x54]
inc esi
push ecx
mov ecx, dword [edx]
mov eax, esi
call fcn.004d44b0
add esp, 4
test eax, eax
jne 0x4fdd69
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x30]
or dword [esp + 0x40], ebp
or ebx, dword [esp + 0x4c]
mov dword [ecx + edx*4], edi
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x18]
add edi, 0x30
cmp edi, dword [esp + 0x30]
jb 0x4fd2d6
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
mov word [eax + 0x28], dx
mov word [eax + 0x18], dx
mov edx, dword [esp + 0x5c]
mov dword [eax + 0x24], 0x4241
mov eax, dword [edx + 0x40]
mov edi, dword [edx + 0x44]
not ecx
mov esi, ecx
and esi, eax
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + 0x22]
not ebx
or ebx, 0x80000000
and ebx, edi
mov ecx, 0x3f
cmp cx, ax
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x20], eax
jge 0x4fd4b4
mov eax, ecx
jmp 0x4fd4b5
cwde
xor ebx, ebx
mov dword [esp + 0x28], eax
test eax, eax
jle 0x4fd4e3
nop
mov eax, 1
xor edx, edx
mov ecx, ebx
call fcn.005543f0
and edx, dword [esp + 0x4c]
and eax, esi
or eax, edx
je 0x4fd4dc
inc dword [esp + 0x14]
inc ebx
cmp ebx, dword [esp + 0x28]
jl 0x4fd4c0
and edi, 0x80000000
xor eax, eax
or eax, edi
je 0x4fd500
movsx edx, word [esp + 0x20]
mov eax, dword [esp + 0x14]
lea ecx, [eax + edx - 0x3f]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
lea edx, [esp + 0x20]
push edx
mov edx, dword [ecx]
inc eax
push eax
push edx
xor ecx, ecx
call fcn.004d8350
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x4fdd69
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
mov dword [ecx + 0x1c], eax
mov dword [eax], str.auto_index
mov dword [eax + 0xc], edx
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
mov edi, dword [eax + 0x14]
cmp edi, dword [esp + 0x30]
jae 0x4fd6e7
jmp 0x4fd560
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x5c]
cmp ecx, dword [edx + 0x30]
jne 0x4fd6da
test byte [edi + 0x12], 0x82
je 0x4fd6da
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
and eax, dword [esp + 0x60]
and ecx, dword [esp + 0x64]
or eax, ecx
jne 0x4fd6da
mov eax, dword [edi + 0xc]
test eax, eax
jl 0x4fd6da
mov esi, dword [edi]
mov ecx, edx
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx + 4]
lea eax, [eax + eax*2]
mov dl, byte [ecx + eax*8 + 0x15]
mov eax, dword [esi + 0xc]
mov byte [esp + 0x13], dl
call fcn.004d7600
mov bl, al
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4fd5db
call fcn.004d7600
test al, al
je 0x4fd5f0
test bl, bl
je 0x4fd5f4
cmp al, 0x43
jge 0x4fd5d7
cmp bl, 0x43
jl 0x4fd5fc
mov bl, 0x43
jmp 0x4fd5fe
test dword [esi + 4], 0x800
je 0x4fd5f8
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov eax, dword [edx]
jmp 0x4fd5c1
test bl, bl
je 0x4fd5fc
add bl, al
jmp 0x4fd5fe
test bl, bl
jne 0x4fd5fe
mov bl, 0x41
movsx eax, bl
sub eax, 0x41
je 0x4fd629
sub eax, 1
je 0x4fd617
xor eax, eax
cmp byte [esp + 0x13], 0x43
setge al
jmp 0x4fd621
xor eax, eax
cmp byte [esp + 0x13], 0x42
sete al
test eax, eax
je 0x4fd6da
mov ecx, dword [edi + 0xc]
cmp ecx, 0x40
jl 0x4fd63a
xor eax, eax
mov edx, SysReAllocString
jmp 0x4fd646
mov eax, 1
xor edx, edx
call fcn.005543f0
mov ecx, eax
and ecx, dword [esp + 0x40]
mov esi, edx
and esi, dword [esp + 0x44]
or ecx, esi
jne 0x4fd6da
or dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
or dword [esp + 0x44], edx
mov edx, dword [eax + 4]
mov ecx, dword [edi]
mov ax, word [edi + 0xc]
mov esi, dword [esp + 0x1c]
mov word [edx + esi*2], ax
mov esi, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
mov eax, 0x100
test dword [ecx + 4], eax
je 0x4fd68e
mov edx, dword [esp + 0x54]
push edx
jmp 0x4fd6b2
test esi, esi
je 0x4fd69e
test dword [esi + 4], eax
je 0x4fd69e
mov eax, dword [esp + 0x54]
push eax
jmp 0x4fd6b0
mov ebx, dword [esp + 0x54]
push ebx
call fcn.004f0ea0
add esp, 4
test eax, eax
jne 0x4fd6be
push ebx
mov ecx, esi
call fcn.004f0ea0
add esp, 4
test eax, eax
je 0x4fd6c2
mov eax, dword [eax]
jmp 0x4fd6c7
mov eax, 0x58aa84
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0x1c], ecx
add edi, 0x30
cmp edi, dword [esp + 0x30]
jb 0x4fd560
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
xor esi, esi
cmp dword [esp + 0x28], esi
jle 0x4fd72e
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.005543f0
and eax, dword [esp + 0x48]
and edx, dword [esp + 0x4c]
or eax, edx
je 0x4fd723
mov eax, dword [ebx + 4]
mov word [eax + edi*2], si
mov ecx, dword [ebx + 0x20]
mov dword [ecx + edi*4], 0x58aa84
inc edi
inc esi
cmp esi, dword [esp + 0x28]
jl 0x4fd6f7
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0x5c]
mov ecx, dword [edx + 0x44]
and ecx, 0x80000000
xor eax, eax
or eax, ecx
je 0x4fd771
mov ecx, dword [esp + 0x2c]
mov eax, 0x3f
mov edx, eax
cmp dx, word [ecx + 0x22]
jge 0x4fd771
mov edx, dword [ebx + 4]
mov word [edx + edi*2], ax
mov edx, dword [ebx + 0x20]
mov dword [edx + edi*4], 0x58aa84
movsx edx, word [ecx + 0x22]
inc eax
inc edi
cmp eax, edx
jl 0x4fd752
mov dword [esp + 0x1c], edi
mov eax, dword [ebx + 4]
or ecx, 0xffffffff
mov word [eax + edi*2], cx
mov edx, dword [ebx + 0x20]
mov eax, dword [esp + 0x54]
mov dword [edx + edi*4], 0x58aa84
mov ecx, dword [eax + 0x44]
mov edx, dword [esp + 0x68]
mov dword [edx + 8], ecx
inc dword [eax + 0x44]
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp + 0x18]
mov edx, dword [edx + 8]
inc ecx
cmp dword [esi + 0x54], eax
jg 0x4fd7bb
push 0
push ecx
push edx
push 0x39
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4fd7e2
lea esi, [eax + 1]
mov dword [ebp + 0x20], esi
mov esi, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax], 0x39
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x54]
mov edi, dword [eax + 8]
push ecx
push eax
call fcn.004f1ae0
mov esi, dword [edi + 4]
mov ecx, dword [edi]
add esp, 8
mov ebx, eax
test esi, esi
je 0x4fd83f
cmp byte [ecx + 0x41], 0
jne 0x4fd83f
mov eax, dword [edi + 0x20]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [esi + edx*4 + 1]
lea esi, [esi + edx*4]
push ecx
mov ecx, dword [esi + 0x10]
call fcn.004cf9f0
add esp, 4
mov dword [esi + 0x10], 0
test ebx, ebx
jne 0x4fd836
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x4fd84f
mov dword [esi + 0x10], ebx
mov byte [esi + 1], 0xfa
jmp 0x4fd84f
push ecx
mov ecx, ebx
mov eax, 0xfffffffa
call fcn.004cf9f0
add esp, 4
mov eax, dword [esp + 0x54]
inc dword [eax + 0x68]
mov ecx, dword [esp + 0x68]
movzx eax, byte [ecx + 0x2c]
mov edx, dword [esp + 0x58]
mov edx, dword [edx]
mov edx, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
test byte [eax + edx + 0x30], 0x10
lea ebx, [eax + edx + 8]
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x30], ebx
je 0x4fd950
mov ecx, dword [ebp + 0x20]
cmp dword [eax + 0x54], ecx
mov edi, dword [ebx + 0x1c]
jg 0x4fd8a2
push 0
push 0
push 0
push 0x17
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4fd8cb
lea edx, [ecx + 1]
mov dword [ebp + 0x20], edx
mov edx, dword [ebp + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov byte [eax], 0x17
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov byte [eax + 1], dl
mov eax, ecx
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x20]
cmp dword [edx + 0x54], eax
jg 0x4fd8ef
push ecx
push 0
push edi
push 0x11
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4fd916
lea edx, [eax + 1]
mov dword [ebp + 0x20], edx
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov byte [eax], 0x11
mov byte [eax + 3], 0
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov byte [eax + 1], dl
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x54], ecx
jg 0x4fd934
push 0
push 0
push edi
push 0x14
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4fd997
lea edx, [ecx + 1]
mov dword [ebp + 0x20], edx
mov edx, dword [ebp + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov byte [eax], 0x14
mov dword [eax + 4], edi
mov byte [eax + 1], dl
jmp 0x4fd988
mov edx, dword [ecx + 4]
mov ecx, dword [ebp + 0x20]
cmp dword [eax + 0x54], ecx
jg 0x4fd96e
push 0
push 0
push edx
push 0x6e
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4fd997
mov esi, dword [ebp + 4]
lea eax, [ecx + 1]
mov dword [ebp + 0x20], eax
lea eax, [ecx + ecx*4]
lea eax, [esi + eax*4]
mov dword [eax + 4], edx
xor edx, edx
mov byte [eax], 0x6e
mov byte [eax + 1], dl
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov eax, ecx
cmp dword [esp + 0x24], 0
mov dword [esp + 0x5c], eax
je 0x4fdac1
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebx + 0x70]
lea edx, [eax - 1]
lea ecx, [eax + 1]
mov dword [esp + 0x58], eax
mov dword [ebx + 0x70], ecx
test eax, edx
jne 0x4fda8c
mov esi, dword [ebx + 0x74]
mov edi, dword [ebx]
lea ecx, [eax*8 + 4]
push 0
push ecx
push esi
mov eax, edi
call fcn.004cb9e0
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x4fda81
test esi, esi
je 0x4fda81
test edi, edi
je 0x4fda2c
cmp dword [edi + 0x208], eax
je 0x4fda06
mov eax, esi
mov ecx, edi
call fcn.004bf640
jmp 0x4fda81
cmp esi, dword [edi + 0x114]
jb 0x4fda2c
cmp esi, dword [edi + 0x118]
jae 0x4fda2c
mov edx, dword [edi + 0x110]
mov dword [esi], edx
dec dword [edi + 0xfc]
mov dword [edi + 0x110], esi
jmp 0x4fda81
cmp dword [0x59bf10], 0
je 0x4fda77
mov eax, dword [0x5a2d00]
test eax, eax
je 0x4fda48
push eax
call dword [0x59bf64]
add esp, 4
push esi
call dword [0x59bf40]
sub dword [0x5a2b48], eax
dec dword [0x5a2b6c]
push esi
call dword [0x59bf38]
mov eax, dword [0x5a2d00]
add esp, 8
test eax, eax
je 0x4fda81
push eax
call dword [0x59bf6c]
jmp 0x4fda7e
push esi
call dword [0x59bf38]
add esp, 4
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x74], eax
mov eax, dword [esp + 0x58]
mov ebx, dword [ebx + 0x74]
test ebx, ebx
je 0x4fda9a
mov dword [ebx + eax*4], 0xffffffff
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
or edi, 0xffffffff
push 0x10
sub edi, eax
push edi
push ecx
push edx
call fcn.00516c80
mov eax, dword [esp + 0x28]
add esp, 0x10
or dword [eax + 0x24], 0x20000
jmp 0x4fdac5
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
mov al, byte [ecx + 0x13]
test al, al
jne 0x4fdad8
inc dword [ecx + 0x48]
mov eax, dword [ecx + 0x48]
jmp 0x4fdae4
dec al
movzx edx, al
mov byte [ecx + 0x13], al
mov eax, dword [ecx + edx*4 + 0x18]
mov ebx, dword [esp + 0x68]
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x20]
push 0
push 0
push 0
push 0
mov esi, eax
push esi
push ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x6c]
push edx
call fcn.004f94b0
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x20]
add esp, 0x1c
cmp dword [edx + 0x54], eax
jg 0x4fdb37
push 0
mov eax, esi
push eax
push ecx
push 0x70
mov esi, ebp
call fcn.004cf720
add esp, 0x10
xor esi, esi
jmp 0x4fdb5f
lea edx, [eax + 1]
mov dword [ebp + 0x20], edx
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], esi
xor esi, esi
mov byte [eax], 0x70
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp]
dec eax
cmp byte [ecx + 0x41], 0
je 0x4fdb73
mov eax, 0x5a2838
jmp 0x4fdb7c
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], 0x10
cmp dword [esp + 0x24], esi
je 0x4fdba5
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x74]
cmp eax, esi
je 0x4fdb9e
lea edx, [edi*4 + 4]
sub eax, edx
mov edx, dword [ebp + 0x20]
mov dword [eax], edx
mov eax, dword [ebp + 0x20]
dec eax
mov dword [ecx + 0x5c], eax
mov ecx, dword [esp + 0x30]
test byte [ecx + 0x28], 0x10
je 0x4fdc51
mov eax, dword [esp + 0x34]
cmp eax, esi
jge 0x4fdbbf
mov eax, dword [ebp + 0x20]
dec eax
mov edx, dword [ebp]
cmp byte [edx + 0x41], 0
je 0x4fdbcf
mov eax, 0x5a2838
jmp 0x4fdbd8
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
add ecx, edx
mov dword [eax + 8], ecx
mov edx, dword [ebx + 4]
mov ebx, dword [esp + 0x30]
mov esi, dword [ebx + 0x20]
push 1
push edx
mov ecx, edi
mov edx, ebp
call fcn.004c9800
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
add esp, 8
cmp dword [ecx + 0x54], eax
jg 0x4fdc24
push 0
push edi
push 0
push 0xe
mov esi, ebp
call fcn.004cf720
add esp, 0x10
and dword [ebx + 0x28], 0xffffffef
jmp 0x4fdc9c
mov ecx, dword [ebp + 4]
lea edx, [eax + 1]
mov dword [ebp + 0x20], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax], 0xe
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
and dword [ebx + 0x28], 0xffffffef
jmp 0x4fdc9c
mov ecx, dword [esp + 0x5c]
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp + 0x18]
mov edx, dword [ebx + 4]
inc ecx
cmp dword [edi + 0x54], eax
jg 0x4fdc76
push 0
push ecx
push edx
push 8
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4fdc9c
lea edi, [eax + 1]
mov dword [ebp + 0x20], edi
mov edi, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
mov byte [eax], 8
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp]
dec eax
cmp byte [ecx + 0x41], 0
je 0x4fdcb0
mov eax, 0x5a2838
jmp 0x4fdcb9
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], 3
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
mov eax, dword [esp + 0x5c]
dec ecx
mov dword [edx + 0x5c], ecx
mov ecx, dword [ebp + 0x20]
test eax, eax
jge 0x4fdcd5
lea eax, [ecx - 1]
mov edx, dword [ebp]
cmp byte [edx + 0x41], 0
je 0x4fdce5
mov eax, 0x5a2838
jmp 0x4fdcee
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov dword [eax + 8], ecx
test esi, esi
je 0x4fdd28
mov bl, byte [edx + 0x13]
cmp bl, 8
jae 0x4fdd28
xor eax, eax
lea ecx, [edx + 0x78]
lea ebx, [ebx]
cmp dword [ecx + 0xc], esi
je 0x4fdd57
inc eax
add ecx, 0x14
cmp eax, 0xa
jl 0x4fdd10
movzx eax, bl
mov dword [edx + eax*4 + 0x18], esi
inc byte [edx + 0x13]
mov eax, edx
call fcn.004c6f60
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
mov eax, dword [esp + 0x3c]
dec ecx
mov dword [edx + 0x5c], ecx
mov ecx, dword [ebp + 0x20]
test eax, eax
jge 0x4fdd47
lea eax, [ecx - 1]
mov edx, dword [ebp]
cmp byte [edx + 0x41], 0
je 0x4fdd5d
mov eax, 0x5a2838
jmp 0x4fdd66
mov byte [ecx + 6], 1
jmp 0x4fdd28
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx]
push eax
push edx
call fcn.004d15b0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret