Function at 0x4728ed
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov eax, dword [0x631040]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
mov ebx, ecx
push esi
xor esi, esi
mov dword [esp + 0x24], ebx
push edi
mov ecx, dword [ebx + 8]
mov edi, edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], esi
test ecx, ecx
jne 0x472936
xor eax, eax
jmp 0x473488
test edi, edi
je 0x473475
movzx edx, byte [edi]
mov dword [esp + 0x24], edx
cmp edx, 0x34
ja 0x472a9d
je case.0x47296b.21
lea eax, [edx - 0x13]
cmp eax, 0x20
ja case.0x472d6a.149
movzx eax, byte [eax + 0x4734c1]
mov dword [esp + 0x1c], edx
jmp dword [eax*4 + 0x47349d]
push esi
push dword [ebp + 8]
push 1
push 0x4d
pop edx
call fcn.00460e33
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x20]
add esp, 0xc
mov ecx, ebx
push eax
call fcn.004735d5
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
pop ecx
push esi
push esi
push eax
mov ecx, edi
call fcn.00460e33
add esp, 0xc
mov esi, eax
xor eax, eax
mov ecx, edi
push eax
push dword [ebp + 8]
push eax
push 0x4d
pop edx
call fcn.00460e33
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.00461566
mov ecx, dword [edi + 0x88]
mov dword [eax + 8], ecx
jmp 0x472e66
call fcn.00461058
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.00461058
mov ebx, dword [ebp + 8]
mov edi, eax
mov ecx, dword [esp + 0x10]
xor eax, eax
push eax
push ebx
push eax
push 0x50
pop edx
call fcn.00460e33
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [esp + 0x28]
push edi
push esi
call fcn.00471eb4
mov ecx, dword [esp + 0x18]
push 0
push ebx
push 1
push 0x4d
pop edx
call fcn.00460e33
add esp, 0x14
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0046109a
xor eax, eax
push eax
push eax
push ebx
push 0x5c
pop edx
call fcn.00460e33
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.0046109a
mov eax, ebx
jmp 0x473488
push esi
push esi
push dword [ebp + 8]
mov edx, edi
mov ecx, ebx
call fcn.00473845
jmp 0x473482
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.004735d5
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x34]
mov ecx, ebx
push eax
call fcn.004735d5
mov edx, dword [esp + 0x28]
pop ecx
push dword [ebp + 8]
push esi
push eax
mov ecx, dword [esp + 0x1c]
call fcn.00460e33
add esp, 0xc
jmp 0x472e66
mov eax, edx
cmp edx, 0x87
ja 0x472d5b
mov dword [esp + 0x24], eax
cmp eax, 0x87
je 0x472d17
cmp eax, 0x61
ja 0x472c66
je 0x472c55
sub eax, 0x35
je case.0x472d6a.156
sub eax, 1
je case.0x47296b.19
sub eax, 0xc
je 0x472bc1
sub eax, 0x11
je 0x472b50
sub eax, 5
jne case.0x472d6a.149
mov eax, dword [edi + 0x2c]
mov edx, 0x90
mov dword [esp + 0x20], eax
push esi
push dword [ebp + 8]
movsx ecx, word [eax + 0x2a]
movsx eax, word [edi + 0x20]
inc ecx
imul ecx, dword [edi + 0x1c]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x18]
push eax
call fcn.00460e33
movzx eax, word [edi + 0x20]
add esp, 0xc
test ax, ax
js 0x47342a
movsx ecx, ax
mov eax, dword [esp + 0x20]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x47342a
push esi
push esi
push dword [ebp + 8]
push 0x5d
pop edx
jmp 0x472c44
cmp dword [ebx + 0x80], esi
jne 0x472b6a
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebx
call fcn.0044c1da
pop ecx
pop ecx
jmp 0x47292f
cmp byte [edi + 1], 2
jne 0x472b7d
cmp dword [ebx + 0x7c], esi
mov eax, ebx
cmovne eax, dword [ebx + 0x7c]
mov byte [eax + 0x15], 1
mov al, byte [edi + 1]
mov edi, dword [edi + 8]
push esi
cmp al, 4
jne 0x472baa
push 4
push esi
push 0x4c
pop edx
call fcn.00460e33
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
push esi
push edi
call fcn.004614a3
pop ecx
pop ecx
jmp 0x47342a
push esi
movsx eax, al
mov edx, 0x713
push edi
push eax
mov ecx, ebx
call fcn.0047ae30
jmp 0x472cfe
push dword [ebp + 8]
mov edx, dword [edi + 0xc]
mov ecx, ebx
call fcn.004728ed
pop ecx
mov dword [esp + 0x20], eax
cmp eax, dword [ebp + 8]
je 0x472bf3
mov ecx, dword [esp + 0x10]
push esi
push dword [ebp + 8]
push eax
push 0x56
pop edx
call fcn.00460e33
mov eax, dword [ebp + 8]
add esp, 0xc
mov dword [esp + 0x20], eax
mov ecx, dword [edi + 8]
xor edx, edx
call fcn.00477c4e
mov ecx, dword [esp + 0x10]
push esi
movsx eax, al
push eax
push dword [ebp + 8]
push 0x5e
pop edx
call fcn.00460e33
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov ecx, ebx
push 1
call fcn.00472604
mov eax, dword [esp + 0x24]
pop ecx
jmp 0x473488
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.004735d5
mov edx, dword [esp + 0x28]
pop ecx
push esi
push dword [ebp + 8]
push eax
mov ecx, dword [esp + 0x1c]
call fcn.00460e33
add esp, 0xc
jmp 0x47342a
push dword [edi + 8]
mov edx, dword [ebp + 8]
call fcn.00460ea6
pop ecx
jmp 0x473485
sub eax, 0x65
je 0x473475
sub eax, 0x12
je 0x472ce5
sub eax, 0xd
je 0x472cd7
sub eax, 1
je 0x472c97
sub eax, 1
jne case.0x472d6a.149
push dword [ebp + 8]
mov edx, edi
push esi
mov ecx, ebx
call fcn.00472414
pop ecx
jmp 0x472c60
mov esi, dword [edi + 8]
lea ecx, [esi + 2]
call fcn.0044c0ba
mov ebx, dword [esp + 0x10]
lea edx, [esi + 2]
lea edi, [eax - 1]
mov ecx, dword [ebx]
push edi
call fcn.0044cebb
pop ecx
push 0xffffffffffffffff
push eax
push 0
push dword [ebp + 8]
mov eax, edi
mov ecx, ebx
cdq
sub eax, edx
sar eax, 1
push eax
push 0x52
pop edx
call fcn.00460f47
add esp, 0x14
jmp 0x473485
push dword [ebp + 8]
mov edx, dword [edi + 8]
push esi
call fcn.004723a3
jmp 0x472c94
mov eax, dword [edi + 0x14]
mov eax, dword [eax]
cmp dword [eax], 1
je case.0x47296b.20
push 1
push dword [eax]
push str.sub_select_returns__d_columns___expected__d
push ebx
call fcn.0044c1da
add esp, 0x10
jmp 0x47342a
push esi
push esi
mov edx, edi
mov ecx, ebx
call fcn.00471977
pop ecx
jmp 0x472f34
movsx eax, word [edi + 0x20]
push esi
push dword [ebp + 8]
push eax
push 0x53
pop edx
call fcn.00460e33
mov eax, dword [edi + 8]
add esp, 0xc
cmp byte [eax + 1], 0
je 0x473485
movsx edx, word [edi + 0x20]
mov ecx, dword [ebx + 0x1a8]
call fcn.0044d31c
mov dword [ecx], esi
mov edx, eax
mov ecx, dword [esp + 0x10]
push 0xfffffffffffffffe
call fcn.00461517
jmp 0x472c60
lea eax, [edx - 0x94]
cmp eax, 0xd
ja case.0x472d6a.149
jmp dword [eax*4 + 0x4734e5]
movsx eax, word [edi + 0x22]
mov edx, dword [edi + 0x28]
imul eax, eax, 0x18
add eax, dword [edx + 0x1c]
cmp byte [edx], 0
jne 0x472d8b
mov eax, dword [eax + 0x10]
jmp 0x473488
cmp byte [edx + 1], 0
je case.0x472d6a.152
push dword [ebp + 8]
push dword [eax + 0xc]
push dword [edx + 8]
push 0x62
jmp 0x47347c
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x472dbd
mov ecx, dword [ebx + 0x38]
test ecx, ecx
jle 0x472dba
movsx eax, word [edi + 0x20]
add eax, ecx
jmp 0x473488
mov ecx, dword [ebx + 0x3c]
movzx eax, byte [edi + 0x26]
mov edx, dword [edi + 0x2c]
push eax
push dword [ebp + 8]
movsx eax, word [edi + 0x20]
push ecx
push eax
mov ecx, ebx
call fcn.0047270b
add esp, 0x10
jmp 0x473488
mov eax, dword [edi + 0x1c]
jmp 0x473488
xor eax, eax
mov dword [esp + 0x18], 0x80
cmp edx, 0x1d
sete al
lea edx, [eax + 0x24]
mov dword [esp + 0x24], edx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x20], ecx
call fcn.0046fc18
cmp eax, 1
jle 0x472e23
push dword [esp + 0x18]
mov ecx, ebx
push edx
push dword [ebp + 8]
mov edx, edi
call fcn.0046fd22
jmp 0x472c4d
lea eax, [esp + 0x14]
mov edx, ecx
push eax
mov ecx, ebx
call fcn.004735d5
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x34]
mov ecx, ebx
push eax
call fcn.004735d5
mov edx, dword [esp + 0x24]
pop ecx
mov ecx, dword [esp + 0x18]
or ecx, 0x20
push ecx
push dword [ebp + 8]
mov ecx, ebx
push eax
push esi
push dword [esp + 0x34]
push dword [edi + 0x10]
call fcn.0046fbb8
add esp, 0x18
xor esi, esi
jmp 0x47342a
mov edx, dword [edi + 0xc]
mov al, byte [edx]
cmp al, 0x86
jne 0x472e80
push dword [ebp + 8]
push 1
jmp 0x472c8d
cmp al, 0x84
jne 0x472e91
push dword [ebp + 8]
mov edx, dword [edx + 8]
push 1
jmp 0x472cde
lea eax, [esp + 0x14]
mov byte [esp + 0x6c], 0x86
push eax
lea edx, [esp + 0x70]
mov dword [esp + 0x74], 0x4400
mov ecx, ebx
mov dword [esp + 0x78], esi
call fcn.004735d5
mov edx, dword [edi + 0xc]
mov esi, eax
pop ecx
lea eax, [esp + 0x34]
mov ecx, ebx
push eax
call fcn.004735d5
pop ecx
push dword [ebp + 8]
push esi
push eax
push 0x30
pop edx
jmp 0x472a8c
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x472eec
push dword [edi + 8]
push str.misuse_of_aggregate:__s__
push ebx
call fcn.0044c1da
jmp 0x472c4d
movsx ecx, word [edi + 0x22]
mov eax, dword [eax + 0x28]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 8]
jmp 0x473488
cmp byte [ebx + 0x17], 0
mov eax, dword [ebx]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], esi
mov al, byte [eax + 0x42]
mov byte [esp + 0x2c], al
je 0x472f3a
push esi
push 2
pop edx
mov ecx, edi
call fcn.004710e2
pop ecx
test eax, eax
je 0x472f3a
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.0047351d
pop ecx
jmp 0x473488
test dword [edi + 4], 0x4000
je 0x473025
mov dword [esp + 0x1c], esi
mov eax, esi
mov ecx, dword [edi + 8]
mov edx, ecx
push esi
push dword [esp + 0x30]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x20]
push eax
mov dword [esp + 0x30], eax
call fcn.0047b720
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x47323b
cmp dword [ecx + 0x10], esi
jne 0x47323b
movzx eax, word [ecx + 2]
test eax, 0x200
je 0x47303b
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.00461058
mov edx, dword [esp + 0x1c]
mov ecx, ebx
push dword [ebp + 8]
mov dword [esp + 0x2c], eax
mov edx, dword [edx + 4]
mov edx, dword [edx]
call fcn.0047364d
mov eax, dword [esp + 0x28]
pop ecx
cmp eax, 1
jle 0x47301c
dec eax
mov dword [esp + 0x18], 0x18
mov dword [esp + 0x20], eax
push esi
push dword [esp + 0x2c]
mov ecx, edi
push dword [ebp + 8]
push 0x23
pop edx
call fcn.00460e33
mov edx, dword [ebp + 8]
add esp, 0xc
mov ecx, ebx
push 1
call fcn.00472604
mov eax, dword [esp + 0x20]
inc dword [ebx + 0x40]
pop ecx
push dword [ebp + 8]
mov edx, dword [eax + 4]
mov ecx, ebx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + edx]
call fcn.0047364d
pop ecx
mov ecx, ebx
call fcn.0047264a
add dword [esp + 0x18], 0x18
sub dword [esp + 0x20], 1
jne 0x472fcb
mov edx, dword [esp + 0x28]
jmp 0x473423
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x472f4b
mov eax, dword [ecx]
jmp 0x472f4d
test eax, 0x400
je 0x47305a
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 4]
mov edx, dword [edx]
push dword [ebp + 8]
mov ecx, ebx
call fcn.004728ed
jmp 0x472f34
mov ecx, dword [esp + 0x24]
mov eax, esi
mov dword [esp + 0x34], eax
test ecx, ecx
jle 0x4730ef
mov edi, dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x14], edx
cmp eax, 0x20
jae 0x4730aa
mov eax, dword [edi + 4]
xor edx, edx
mov ecx, dword [esp + 0x14]
inc edx
push esi
mov ecx, dword [ecx + eax]
call fcn.004710e2
mov edx, dword [esp + 0x18]
pop ecx
test eax, eax
je 0x4730a6
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
bts ecx, eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
test byte [eax + 2], 0x20
je 0x4730d7
cmp dword [esp + 0x30], esi
jne 0x4730d7
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [edx + ecx]
mov ecx, ebx
call fcn.0046f9c3
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
add edx, 0x18
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x34], eax
cmp eax, ecx
jl 0x473076
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x47316d
cmp dword [esp + 0x28], esi
je 0x473112
mov eax, dword [ebx + 0x2c]
lea edi, [eax + 1]
add eax, ecx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x20]
mov dword [ebx + 0x2c], eax
jmp 0x473123
mov edx, ecx
mov ecx, ebx
call fcn.0047461f
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x2c]
test byte [ecx + 2], 0xc0
je 0x47314c
mov eax, dword [edx + 4]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov al, byte [eax]
cmp al, 0x98
je 0x473140
cmp al, 0x9a
jne 0x47314c
mov al, byte [ecx + 2]
mov ecx, dword [esp + 0x20]
and al, 0xc0
mov byte [ecx + 0x26], al
inc dword [ebx + 0x40]
mov ecx, ebx
push 3
push esi
push dword [esp + 0x1c]
call fcn.00473727
add esp, 0xc
mov ecx, ebx
call fcn.0047264a
mov edx, dword [esp + 0x1c]
jmp 0x473171
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x24]
cmp ecx, 2
jl 0x47319a
test byte [edi + 4], 0x80
je 0x47319e
mov eax, dword [edx + 4]
push dword [eax + 0x18]
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0049028c
pop ecx
pop ecx
mov edi, eax
jmp 0x4731a9
test ecx, ecx
jle 0x4731a5
mov eax, dword [edx + 4]
push dword [eax]
jmp 0x473186
mov edi, dword [esp + 0x2c]
test byte [edi + 2], 0x20
je 0x4731e7
cmp dword [esp + 0x30], esi
jne 0x4731c0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
push esi
push esi
push esi
mov esi, dword [esp + 0x1c]
mov ecx, esi
push 0x59
pop edx
call fcn.00460e33
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffffd
push dword [esp + 0x34]
call fcn.004614a3
pop ecx
pop ecx
jmp 0x4731eb
mov esi, dword [esp + 0x10]
push 0xfffffffffffffffc
push edi
push dword [ebp + 8]
mov edi, dword [esp + 0x20]
mov ecx, esi
push edi
push dword [esp + 0x38]
push 0x5a
pop edx
call fcn.00460f47
mov eax, dword [esp + 0x38]
add esp, 0x14
movzx edx, al
mov ecx, esi
call fcn.004612b5
mov eax, dword [esp + 0x24]
test eax, eax
je 0x473485
cmp dword [esp + 0x28], 0
jne 0x473485
push eax
mov edx, edi
mov ecx, ebx
call fcn.00474655
jmp 0x472c60
push dword [esp + 0x38]
push str.unknown_function:__s__
jmp 0x472ee1
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x1c], esi
jne 0x473269
push esi
mov edx, ecx
mov ecx, ebx
push esi
call fcn.00471977
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [edi + 0xc]
mov dword [eax + 0x1c], ecx
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x1c]
test edx, edx
je 0x473289
call fcn.0046fc18
cmp edx, eax
je 0x473289
push eax
push edx
push str._d_columns_assigned__d_values
push ebx
call fcn.0044c1da
add esp, 0x10
mov eax, dword [edi + 0xc]
movsx ecx, word [edi + 0x20]
add ecx, dword [eax + 0x1c]
mov eax, ecx
jmp 0x473488
mov edx, dword [edi + 0xc]
jmp 0x47304b
push str.row_value_misused
push ebx
call fcn.0044c1da
jmp 0x472ba3
mov eax, dword [edi + 0x14]
mov dword [esp + 0x38], eax
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], eax
call fcn.00461058
mov edx, dword [edi + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], edx
test edx, edx
je 0x473342
push 0xc
mov esi, edx
lea edi, [esp + 0x70]
pop ecx
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x14]
mov ecx, ebx
push eax
lea edx, [esp + 0x70]
call fcn.00472862
and dword [esp + 0x74], 0xffffefff
xor esi, esi
pop ecx
mov ecx, eax
mov al, byte [esp + 0x6c]
push 0x30
mov byte [esp + 0x96], al
lea eax, [esp + 0x40]
push esi
push eax
mov byte [esp + 0x78], 0x9d
mov dword [esp + 0x94], ecx
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x78]
mov dword [esp + 0x20], esi
add esp, 0xc
mov byte [esp + 0x3c], 0x25
lea esi, [esp + 0x3c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
lea ecx, [eax - 1]
test ecx, ecx
jle 0x4733e0
lea eax, [ecx - 1]
shr eax, 1
inc eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
inc dword [ebx + 0x40]
test edx, edx
mov ecx, dword [eax]
mov eax, dword [esp + 0x4c]
cmove esi, ecx
cmovne eax, ecx
mov dword [esp + 0x30], esi
mov ecx, edi
mov dword [esp + 0x4c], eax
call fcn.00461058
mov esi, eax
mov eax, dword [esp + 0x30]
push 0x10
push esi
push eax
push ebx
call fcn.00473c8b
mov edx, dword [esp + 0x28]
mov ecx, ebx
push dword [ebp + 8]
mov edx, dword [edx + 0x18]
call fcn.0047364d
mov edx, dword [esp + 0x30]
add esp, 0x14
mov ecx, edi
call fcn.00460e95
mov ecx, ebx
call fcn.0047264a
mov edx, esi
mov ecx, edi
call fcn.0046109a
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
add eax, 0x30
sub dword [esp + 0x20], 1
mov esi, dword [esp + 0x30]
mov dword [esp + 0x18], eax
jne 0x473363
mov eax, dword [esp + 0x2c]
test al, 1
je 0x47340b
mov edx, dword [esp + 0x38]
mov ecx, ebx
inc dword [ebx + 0x40]
push dword [ebp + 8]
imul eax, eax, 0x18
mov edx, dword [edx + 4]
mov edx, dword [eax + edx - 0x18]
call fcn.0047364d
pop ecx
mov ecx, ebx
call fcn.0047264a
xor esi, esi
jmp 0x47341f
xor esi, esi
mov ecx, edi
push esi
push dword [ebp + 8]
push esi
push 0x50
pop edx
call fcn.00460e33
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.0046109a
mov edx, dword [esp + 0x14]
mov ecx, ebx
call fcn.004745dc
mov edi, dword [esp + 0x34]
test edi, edi
je 0x473485
mov cl, byte [ebx + 0x13]
cmp cl, 8
jae 0x473485
movzx edx, byte [ebx + 0x19]
lea eax, [ebx + 0x98]
test edx, edx
je 0x473460
cmp dword [eax + 0xc], edi
je 0x47346f
inc esi
add eax, 0x14
cmp esi, edx
jl 0x473453
movzx ecx, cl
mov dword [ebx + ecx*4 + 0x160], edi
inc byte [ebx + 0x13]
jmp 0x473485
mov byte [eax + 6], 1
jmp 0x473485
push esi
push dword [ebp + 8]
push esi
push 0x50
pop edx
call fcn.00460e33
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004c233c
mov esp, ebp
pop ebp
ret