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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi + 8]
xor ebx, ebx
mov byte [esp + 0xf], bl
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], esi
call fcn.00473120
mov ecx, dword [edi + 0x54]
push ebx
push ebx
push ecx
lea edx, [ecx + 1]
push 0x2c
push eax
mov dword [edi + 0x54], edx
call fcn.00440c90
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x24], ebx
mov ebx, dword [edx + 0x14]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebp + 0x1c]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0x40]
shl edx, 4
add edx, ebx
mov dword [esp + 0x4c], eax
xor ecx, ecx
xor eax, eax
add esp, 0x14
mov dword [esp + 0x40], edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
cmp ebx, edx
jae 0x48360b
jmp 0x483473
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
mov esi, dword [ebx]
jne 0x4834c2
test byte [ebx + 0x14], 2
jne 0x4834c2
test byte [esi + 4], 1
jne 0x4834c2
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0x30]
push 3
mov ecx, esi
call fcn.00454df0
add esp, 4
test eax, eax
je 0x4834c2
mov eax, dword [edi]
push 0
push 0
push esi
push eax
call fcn.004540e0
mov ecx, dword [edi]
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.00453c30
add esp, 0x14
mov dword [esp + 0x28], eax
mov edx, dword [ebx + 8]
mov eax, dword [ebp + 0x10]
cmp edx, dword [eax + 0x30]
jne 0x4835f2
test byte [ebx + 0x12], 0x82
je 0x4835f2
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x24]
and eax, dword [ebp + 0x14]
and ecx, dword [ebp + 0x18]
or eax, ecx
jne 0x4835f2
mov eax, dword [ebx + 0xc]
test eax, eax
jl 0x4835f2
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx + 4]
mov esi, dword [ebx]
shl eax, 4
mov dl, byte [ecx + eax + 0xd]
mov byte [esp + 0xe], dl
call fcn.004535f0
movsx eax, al
sub eax, 0x41
je 0x483540
sub eax, 1
je 0x48352e
xor eax, eax
cmp byte [esp + 0xe], 0x43
setge al
jmp 0x483538
xor eax, eax
cmp byte [esp + 0xe], 0x42
sete al
test eax, eax
je 0x4835f2
mov edi, dword [ebx + 0xc]
cmp edi, 0x40
jl 0x48355a
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], SysReAllocStringLen
jmp 0x483570
mov eax, 1
xor edx, edx
mov ecx, edi
call fcn.004e80c0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
cmp byte [esp + 0xf], 0
jne 0x48359f
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
shl edi, 4
mov edx, dword [edi + ecx]
push edx
push eax
push str.automatic_index_on__s__s_
push 0x11c
call fcn.00425af0
add esp, 0x10
mov byte [esp + 0xf], 1
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
and eax, dword [esp + 0x50]
and ecx, dword [esp + 0x54]
or eax, ecx
jne 0x4835f2
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x10]
mov edx, dword [ecx]
mov edi, dword [esp + 0x38]
inc esi
push edx
mov eax, esi
call fcn.004843a0
add esp, 4
test eax, eax
jne 0x483f98
mov eax, dword [edi + 0x30]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
or dword [esp + 0x50], edx
mov dword [eax + ecx*4], ebx
mov eax, dword [esp + 0x34]
or dword [esp + 0x54], eax
mov dword [esp + 0x10], esi
add ebx, 0x30
cmp ebx, dword [esp + 0x40]
jb 0x483470
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov word [ebx + 0x28], dx
mov word [ebx + 0x18], dx
mov edx, dword [ebp + 0x10]
mov dword [ebx + 0x24], 0x4241
mov edi, dword [edx + 0x40]
mov edx, dword [edx + 0x44]
not eax
not ecx
or eax, 0x80000000
mov dword [esp + 0x18], edi
mov edi, ecx
mov ecx, dword [esp + 0x2c]
and edi, dword [esp + 0x18]
and eax, edx
mov dword [esp + 0x5c], eax
movzx eax, word [ecx + 0x22]
mov ecx, 0x3f
cmp cx, ax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x58], edi
jge 0x483662
mov eax, ecx
jmp 0x483663
cwde
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], 0
test eax, eax
jle 0x4836a4
mov ecx, dword [esp + 0x24]
mov eax, 1
xor edx, edx
call fcn.004e80c0
and edx, dword [esp + 0x5c]
and eax, edi
or eax, edx
je 0x483691
inc dword [esp + 0x10]
mov eax, dword [esp + 0x24]
inc eax
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
jl 0x483673
mov edx, dword [esp + 0x1c]
and edx, 0x80000000
xor eax, eax
or eax, edx
je 0x4836c5
mov edx, dword [esp + 0x2c]
movzx eax, word [edx + 0x22]
mov ecx, dword [esp + 0x10]
cwde
lea edx, [ecx + eax - 0x3f]
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebp + 8]
inc ecx
push ecx
mov ecx, dword [eax]
xor edx, edx
call fcn.0045fa50
xor ecx, ecx
add esp, 8
mov dword [esp + 0x18], eax
cmp eax, ecx
je 0x483f98
mov edx, dword [esp + 0x2c]
mov dword [ebx + 0x1c], eax
mov dword [eax], str.auto_index
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x40]
jae 0x4838b9
lea ecx, [ecx]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [ebp + 0x10]
cmp edx, dword [eax + 0x30]
jne 0x4838a4
test byte [ecx + 0x12], 0x82
je 0x4838a4
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
and eax, dword [ebp + 0x14]
and ecx, dword [ebp + 0x18]
or eax, ecx
jne 0x4838a4
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
test eax, eax
jl 0x4838a4
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx + 4]
shl eax, 4
mov dl, byte [ecx + eax + 0xd]
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
mov byte [esp + 0xf], dl
call fcn.00453330
mov bl, al
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4837a5
call fcn.00453330
test al, al
je 0x4837ba
test bl, bl
je 0x4837be
cmp al, 0x43
jge 0x4837a1
cmp bl, 0x43
jl 0x4837c6
mov bl, 0x43
jmp 0x4837c8
test dword [edi + 4], 0x800
je 0x4837c2
mov ecx, dword [edi + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov eax, dword [eax]
jmp 0x48378b
test bl, bl
je 0x4837c6
add bl, al
jmp 0x4837c8
test bl, bl
jne 0x4837c8
mov bl, 0x41
movsx eax, bl
sub eax, 0x41
je 0x4837f3
sub eax, 1
je 0x4837e1
xor eax, eax
cmp byte [esp + 0xf], 0x43
setge al
jmp 0x4837eb
xor eax, eax
cmp byte [esp + 0xf], 0x42
sete al
test eax, eax
je 0x4838a4
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x40
jl 0x483808
xor eax, eax
mov edx, SysReAllocStringLen
jmp 0x483818
mov eax, 1
xor edx, edx
call fcn.004e80c0
mov ebx, dword [esp + 0x14]
mov ecx, eax
and ecx, dword [esp + 0x50]
mov edi, edx
and edi, dword [esp + 0x54]
or ecx, edi
jne 0x4838a4
or dword [esp + 0x54], edx
or dword [esp + 0x50], eax
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov ecx, dword [ebx]
mov dx, word [ebx + 0xc]
mov edi, dword [esp + 0x24]
mov word [eax + edi*2], dx
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
mov eax, 0x100
test dword [ecx + 4], eax
jne 0x48387c
test ebx, ebx
je 0x48386a
test dword [ebx + 4], eax
je 0x48386a
mov ecx, dword [ebp + 8]
push ecx
mov ecx, ebx
jmp 0x483880
mov edx, dword [ebp + 8]
push edx
call fcn.00453470
add esp, 4
test eax, eax
jne 0x48388c
mov ecx, ebx
mov eax, dword [ebp + 8]
push eax
call fcn.00453470
add esp, 4
test eax, eax
je 0x483890
mov eax, dword [eax]
jmp 0x483895
mov eax, 0x528804
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x20]
mov dword [edx + edi*4], eax
inc edi
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x14]
add eax, 0x30
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x40]
jb 0x483720
mov edi, dword [esp + 0x24]
xor ebx, ebx
cmp dword [esp + 0x30], ebx
jle 0x483900
mov eax, 1
xor edx, edx
mov ecx, ebx
call fcn.004e80c0
and eax, dword [esp + 0x58]
and edx, dword [esp + 0x5c]
or eax, edx
je 0x4838f5
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov word [ecx + edi*2], bx
mov edx, dword [eax + 0x20]
mov dword [edx + edi*4], 0x528804
inc edi
inc ebx
cmp ebx, dword [esp + 0x30]
jl 0x4838c5
mov dword [esp + 0x24], edi
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x44]
mov edx, dword [esp + 0x18]
and ecx, 0x80000000
xor eax, eax
or eax, ecx
je 0x48394f
mov ecx, dword [esp + 0x2c]
mov eax, 0x3f
mov ebx, eax
cmp bx, word [ecx + 0x22]
jge 0x48394f
jmp 0x483930
mov ebx, dword [edx + 4]
mov word [ebx + edi*2], ax
mov ebx, dword [edx + 0x20]
mov dword [ebx + edi*4], 0x528804
movsx ebx, word [ecx + 0x22]
inc eax
inc edi
cmp eax, ebx
jl 0x483930
mov dword [esp + 0x24], edi
mov ecx, dword [edx + 4]
or eax, 0xffffffff
mov word [ecx + edi*2], ax
mov ecx, dword [edx + 0x20]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x1c]
mov dword [ecx + edi*4], 0x528804
mov ecx, dword [eax + 0x48]
mov dword [edx + 8], ecx
inc dword [eax + 0x48]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x18]
mov edx, dword [edx + 8]
inc ecx
cmp dword [edi + 0x58], eax
jg 0x483997
push 0
push ecx
push edx
push 0x38
mov eax, esi
call fcn.00440c50
add esp, 0x10
jmp 0x4839be
lea edi, [eax + 1]
mov dword [esi + 0x20], edi
mov edi, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax], 0x38
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 + 0x18]
mov ebx, dword [ebp + 8]
mov edi, dword [ebx + 8]
push ecx
push ebx
call fcn.00461aa0
mov edx, dword [edi]
add esp, 8
cmp byte [edx + 0x45], 0
je 0x4839e8
mov ecx, eax
mov eax, 0xfffffffa
call fcn.00441340
jmp 0x483a1a
mov edx, dword [edi + 0x20]
mov ecx, dword [edi + 4]
dec edx
lea edx, [edx + edx*4]
cmp byte [ecx + edx*4 + 1], 0
lea edx, [ecx + edx*4]
je 0x483a0f
push eax
push edx
mov eax, 0xfffffffa
mov ecx, edi
call fcn.00441530
add esp, 8
jmp 0x483a1a
test eax, eax
je 0x483a1a
mov dword [edx + 0x10], eax
mov byte [edx + 1], 0xfa
inc dword [ebx + 0x6c]
mov edx, dword [ebp + 0x1c]
movzx eax, byte [edx + 0x2c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov ecx, dword [edx + 4]
lea eax, [eax + eax*4]
shl eax, 4
test byte [eax + ecx + 0x30], 0x10
lea eax, [eax + ecx + 8]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x2c], eax
je 0x483b1b
mov edx, eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x58], ecx
mov edi, dword [edx + 0x1c]
jg 0x483a69
push 0
push 0
push 0
push 0x16
mov eax, esi
call fcn.00440c50
add esp, 0x10
jmp 0x483a92
lea edx, [ecx + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov byte [eax], 0x16
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 [esi + 0x18]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x18]
mov eax, dword [esi + 0x20]
cmp dword [edx + 0x58], eax
jg 0x483aba
push ecx
push 0
push edi
push 0x10
mov eax, esi
call fcn.00440c50
add esp, 0x10
jmp 0x483ae1
lea edx, [eax + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov byte [eax], 0x10
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 [esi + 0x20]
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x58], ecx
jg 0x483aff
push 0
push 0
push edi
push 0x12
mov eax, esi
call fcn.00440c50
add esp, 0x10
jmp 0x483b65
lea edx, [ecx + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov byte [eax], 0x12
mov dword [eax + 4], edi
mov byte [eax + 1], dl
jmp 0x483b56
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x58], ecx
jg 0x483b3c
push 0
push 0
push edx
push 0x6c
mov eax, esi
call fcn.00440c50
add esp, 0x10
jmp 0x483b65
mov edi, dword [esi + 4]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*4]
mov dword [eax + 4], edx
xor edx, edx
mov byte [eax], 0x6c
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 + 0x28], 0
mov dword [esp + 0x10], eax
je 0x483ceb
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x74]
lea edx, [eax + 1]
mov dword [ecx + 0x74], edx
lea edx, [eax - 1]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x14], eax
test eax, edx
jne 0x483cba
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x78]
mov edi, dword [edx]
lea eax, [eax*8 + 4]
xor ecx, ecx
mov dword [esp + 0x58], eax
test ebx, ebx
jne 0x483bb8
push ecx
push eax
mov eax, edi
call fcn.00423fa0
jmp 0x483bf3
cmp ebx, dword [edi + 0x120]
jb 0x483be6
cmp ebx, dword [edi + 0x124]
jae 0x483be6
movzx eax, word [edi + 0x104]
cdq
cmp ecx, edx
ja 0x483be2
jb 0x483bdc
cmp dword [esp + 0x58], eax
ja 0x483be2
mov dword [esp + 0x30], ebx
jmp 0x483bfa
mov eax, dword [esp + 0x58]
push ecx
push eax
mov esi, edi
call fcn.004240b0
mov esi, dword [esp + 0x44]
mov dword [esp + 0x38], eax
add esp, 8
cmp dword [esp + 0x30], 0
jne 0x483ca6
test ebx, ebx
je 0x483ca6
test edi, edi
je 0x483c4e
cmp dword [edi + 0x1c8], 0
je 0x483c28
mov eax, ebx
mov ecx, edi
call fcn.00423c80
jmp 0x483ca6
cmp ebx, dword [edi + 0x120]
jb 0x483c4e
cmp ebx, dword [edi + 0x124]
jae 0x483c4e
mov eax, dword [edi + 0x11c]
mov dword [ebx], eax
dec dword [edi + 0x108]
mov dword [edi + 0x11c], ebx
jmp 0x483ca6
cmp dword [0x54b4e0], 0
je 0x483c9c
mov eax, dword [0x550798]
test eax, eax
je 0x483c6a
push eax
call dword [0x54b538]
add esp, 4
push ebx
call dword [0x54b514]
sub dword [0x5505e8], eax
dec dword [0x55060c]
add esp, 4
push ebx
call dword [0x54b50c]
mov eax, dword [0x550798]
add esp, 4
test eax, eax
je 0x483ca6
push eax
call dword [0x54b540]
jmp 0x483ca3
push ebx
call dword [0x54b50c]
add esp, 4
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x78], ecx
mov ecx, edx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
je 0x483cc8
mov dword [ecx + eax*4], 0xffffffff
or edi, 0xffffffff
sub edi, eax
mov eax, dword [esp + 0x28]
push 0x10
push edi
push eax
push ebx
call fcn.00457bd0
mov eax, dword [esp + 0x48]
add esp, 0x10
or dword [eax + 0x24], 0x20000
jmp 0x483cef
mov edi, dword [esp + 0x48]
mov al, byte [ebx + 0x13]
test al, al
jne 0x483d02
inc dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x4c]
mov dword [esp + 0x14], ecx
jmp 0x483d12
dec al
movzx edx, al
mov byte [ebx + 0x13], al
mov eax, dword [ebx + edx*4 + 0x1c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + 4]
push 0
push 0
push 0
push ecx
mov ecx, dword [esp + 0x28]
push eax
push ecx
xor eax, eax
mov ecx, ebx
call fcn.00463690
mov edx, dword [ebp + 0x1c]
mov ecx, dword [edx + 8]
mov edx, dword [esi + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x20]
add esp, 0x18
cmp dword [edx + 0x58], eax
jg 0x483d60
mov eax, dword [esp + 0x14]
push 0
push eax
push ecx
push 0x6e
mov eax, esi
call fcn.00440c50
add esp, 0x10
jmp 0x483d8b
lea edx, [eax + 1]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax], 0x6e
mov byte [eax + 3], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov edx, dword [esi]
cmp byte [edx + 0x45], 0
jne 0x483da1
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 0x10
cmp dword [esp + 0x28], 0
je 0x483dc7
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x483dc0
lea edx, [edi*4 + 4]
sub eax, edx
mov edx, dword [esi + 0x20]
mov dword [eax], edx
mov eax, dword [esi + 0x20]
dec eax
mov dword [ecx + 0x60], eax
mov ecx, dword [esp + 0x2c]
test byte [ecx + 0x28], 0x10
je 0x483e8e
mov eax, dword [esp + 0x44]
test eax, eax
jge 0x483de1
mov eax, dword [esi + 0x20]
dec eax
mov edx, dword [esi]
cmp byte [edx + 0x45], 0
je 0x483df0
mov eax, 0x550118
jmp 0x483df9
mov ecx, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x3c]
add ecx, edx
mov edx, dword [ebp + 0x1c]
mov dword [eax + 8], ecx
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + 0x20]
push 1
push eax
mov ecx, ebx
mov edx, edi
call fcn.00483300
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
add esp, 8
cmp dword [edx + 0x58], eax
jg 0x483e58
push 0
push ebx
push 0
push 0xd
mov eax, edi
call fcn.00440c50
mov eax, dword [esp + 0x3c]
mov ebx, dword [ebp + 8]
add esp, 0x10
and dword [eax + 0x28], 0xffffffef
mov esi, edi
jmp 0x483edd
lea ecx, [eax + 1]
mov dword [edi + 0x20], ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
lea eax, [eax + edx*4]
xor ecx, ecx
mov dword [eax + 8], ebx
mov ebx, dword [ebp + 8]
mov byte [eax], 0xd
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov eax, dword [esp + 0x2c]
and dword [eax + 0x28], 0xffffffef
mov esi, edi
jmp 0x483edd
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x18]
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx + 4]
inc ecx
cmp dword [edi + 0x58], eax
jg 0x483eb6
push 0
push ecx
push edx
push 7
mov eax, esi
call fcn.00440c50
add esp, 0x10
jmp 0x483edd
lea edi, [eax + 1]
mov dword [esi + 0x20], edi
mov edi, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax], 7
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 [esi]
cmp byte [ecx + 0x45], 0
jne 0x483ef3
mov eax, dword [esi + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
mov byte [eax + edx*4 - 0x11], 3
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x10]
dec ecx
mov dword [edx + 0x60], ecx
mov ecx, dword [esi + 0x20]
test eax, eax
jge 0x483f0b
lea eax, [ecx - 1]
mov edx, dword [esi]
cmp byte [edx + 0x45], 0
je 0x483f1a
mov eax, 0x550118
jmp 0x483f23
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov edi, dword [esp + 0x14]
mov dword [eax + 8], ecx
test edi, edi
je 0x483f58
mov dl, byte [ebx + 0x13]
cmp dl, 8
jae 0x483f58
xor eax, eax
lea ecx, [ebx + 0x7c]
jmp 0x483f40
cmp dword [ecx + 0xc], edi
je 0x483f86
inc eax
add ecx, 0x14
cmp eax, 0xa
jl 0x483f40
movzx eax, dl
mov dword [ebx + eax*4 + 0x1c], edi
inc byte [ebx + 0x13]
mov eax, ebx
call fcn.00456290
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x4c]
dec ecx
mov dword [edx + 0x60], ecx
mov ecx, dword [esi + 0x20]
test eax, eax
jge 0x483f77
lea eax, [ecx - 1]
mov edx, dword [esi]
cmp byte [edx + 0x45], 0
je 0x483f8c
mov eax, 0x550118
jmp 0x483f95
mov byte [ecx + 6], 1
jmp 0x483f58
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push eax
push edx
call fcn.00453fb0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret