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

Disassembly:
push 0xffffffffffffffff
push 0x1005cd42
mov eax, dword fs:[0]
push eax
sub esp, 0x850
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10071430]
xor eax, esp
push eax
lea eax, [esp + 0x864]
mov dword fs:[0], eax
mov edi, dword [esp + 0x880]
push 0x4c000
call fcn.10047ea4
xor esi, esi
add esp, 4
cmp eax, esi
je 0x10046613
mov edx, 0x7ff
lea ecx, [eax + 0xc]
nop
mov dword [ecx], esi
add ecx, 0x98
sub edx, 1
jns 0x10046600
mov dword [esp + 0x44], eax
jmp 0x10046617
mov dword [esp + 0x44], esi
push 0x7800
call fcn.10047ea4
add esp, 4
cmp eax, esi
je 0x10046640
mov edx, 0xff
lea ecx, [eax + 0xc]
mov dword [ecx], esi
add ecx, 0x78
sub edx, 1
jns 0x10046630
mov dword [esp + 0x50], eax
jmp 0x10046644
mov dword [esp + 0x50], esi
mov ecx, 0xb
lea eax, [esp + 0x1c8]
mov dword [eax], esi
add eax, 0x38
sub ecx, 1
jns 0x10046650
mov eax, 0x2d90
lea esi, [esp + 0x80]
call fcn.10046270
mov eax, 0x2d90
lea esi, [esp + 0xa4]
mov dword [esp + 0x86c], 0
call fcn.10046270
mov eax, 0x10000
lea esi, [esp + 0x8c]
mov byte [esp + 0x86c], 1
call fcn.10046270
mov eax, 0x10000
lea esi, [esp + 0x74]
mov byte [esp + 0x86c], 2
call fcn.10046270
mov eax, 0x40000
lea esi, [esp + 0x98]
mov byte [esp + 0x86c], 3
call fcn.10046270
mov eax, 0x40000
lea esi, [esp + 0x68]
mov byte [esp + 0x86c], 4
call fcn.10046270
mov ecx, dword [esp + 0x884]
lea eax, [edi*8]
sub eax, edi
lea eax, [ecx + eax*8]
mov byte [esp + 0x86c], 5
mov esi, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
push esi
mov dword [esp + 0xb4], eax
mov dword [esp + 0xbc], esi
mov dword [esp + 0x5c], edx
call fcn.10047ea4
add esp, 4
mov ebp, eax
push esi
mov dword [esp + 0x4c], ebp
call fcn.10047ea4
mov ebx, eax
xor ecx, ecx
add esp, 4
mov eax, esi
mov edx, 4
mul edx
seto cl
mov dword [esp + 0x64], ebx
neg ecx
or ecx, eax
push ecx
call fcn.10047ea4
mov dword [esp + 0x34], eax
xor ecx, ecx
mov eax, esi
shl eax, 6
add esp, 4
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10047ea4
add esp, 4
cmp dword [esp + 0x44], 0
mov dword [esp + 0x3c], eax
je 0x10047302
cmp dword [esp + 0x50], 0
je 0x10047302
test ebp, ebp
je 0x10047302
test ebx, ebx
je 0x10047302
cmp dword [esp + 0x30], 0
je 0x10047302
test eax, eax
je 0x10047302
mov ecx, esi
shl ecx, 7
push ecx
push 0
push eax
call fcn.1004c5f0
add esp, 0xc
cmp dword [esp + 0x878], 0
je 0x1004681c
xor ebx, ebx
test esi, esi
jle 0x1004681c
mov edx, dword [esp + 0x87c]
shl edi, 8
lea eax, [edi + edx + 0xfc]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x5c], eax
sub ebp, edi
mov eax, dword [esp + 0x5c]
mov ecx, 0x3f
mov edx, dword [eax]
cmp word [edx + ebx*2], 0
jne 0x10046806
dec ecx
sub eax, 4
test ecx, ecx
jg 0x100467f5
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov byte [edi + ebp], al
mov byte [edi], cl
inc ebx
inc edi
cmp ebx, esi
jl 0x100467ec
push 0x400
xor edi, edi
lea eax, [esp + 0x460]
push edi
push eax
call fcn.1004c5f0
add esp, 0xc
cmp esi, edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x20], edi
jle 0x100471a1
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x58]
test esi, esi
jle 0x1004688e
mov dword [edx + esi*4 - 4], 0
mov eax, dword [edx + esi*4 - 4]
xor ecx, ecx
add eax, dword [esp + ecx*4 + 0xbc]
add ecx, 4
add eax, dword [esp + ecx*4 + 0xb0]
add eax, dword [esp + ecx*4 + 0xb4]
add eax, dword [esp + ecx*4 + 0xb8]
cmp ecx, 0x40
jl 0x10046866
mov dword [edx + esi*4 - 4], eax
cmp esi, edi
jl 0x100468bc
mov ecx, esi
sub ecx, edi
mov eax, dword [edx + ecx*4]
add eax, dword [edx + esi*4 - 4]
jns 0x100468a1
neg eax
cmp eax, 0x1000
jl 0x100468af
mov eax, 0xb
jmp 0x100468e8
mov edx, dword [esp + 0x874]
mov eax, dword [edx + eax*4 + 0x20]
jmp 0x100468e8
test esi, esi
jle 0x100468e6
mov edx, dword [edx + esi*4 - 4]
test edx, edx
jge 0x100468ca
neg edx
cmp edx, 0x1000
jl 0x100468d9
mov eax, 0xb
jmp 0x100468e8
mov eax, dword [esp + 0x874]
mov eax, dword [eax + edx*4 + 0x20]
jmp 0x100468e8
xor eax, eax
cmp dword [esp + 0x878], 0
je 0x10046915
movsx ecx, byte [esi + ebx]
push ecx
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 0x878]
lea ecx, [esp + ecx*8 + 0x1c0]
call fcn.10047980
jmp 0x10046934
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 0x874]
lea ecx, [esp + ecx*8 + 0x1bc]
call fcn.10047a80
mov byte [esi + ebx], al
push pe_nt_image_headers32
lea edx, [esp + 0xc0]
push 0
push edx
call fcn.1004c5f0
mov dword [esp + 0x38], 0x3f
mov eax, dword [esp + 0x38]
add esp, 0xc
jmp 0x10046960
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
movsx edx, byte [ebx + ecx]
mov ebp, dword [esp + 0x3c]
inc edx
shl edx, 4
cmp eax, edx
jg 0x10047155
mov esi, dword [eax*4 + 0x10062360]
mov edi, esi
and edi, reloc.OLEAUT32.dll_VariantInit
jns 0x10046992
dec edi
or edi, 0xfffffff8
inc edi
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
lea ecx, [eax + edi]
cmp ecx, 7
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], ecx
jl 0x100469b5
mov dword [esp + 0x1c], 7
mov edx, dword [esp + 0x30]
xor ecx, ecx
cmp eax, 8
mov dword [edx + ebx*4], ecx
jge 0x10046a12
lea ecx, [edi + eax*8]
lea edx, [esp + ecx*4 + 0xbc]
mov ecx, 8
sub ecx, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x4c], ecx
cmp edi, 8
jge 0x10046a04
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + ebx*4]
mov edx, dword [esp + 0x28]
mov eax, 8
sub eax, edi
add ecx, dword [edx]
add edx, 4
sub eax, 1
jne 0x100469f3
mov edx, dword [esp + 0x30]
mov dword [edx + ebx*4], ecx
add dword [esp + 0x28], 0x20
sub dword [esp + 0x4c], 1
jne 0x100469dc
xor ecx, ecx
mov eax, dword [esp + 0x58]
inc eax
cmp ebx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], ecx
jl 0x10046c85
mov ecx, ebx
shl ecx, 6
lea edx, [ecx + esi]
movsx eax, word [ebp + edx*2 - 0x80]
mov dword [esp + 0xb4], eax
mov eax, ebx
sub eax, dword [esp + 0x58]
mov dword [esp + 0x34], 0
shl eax, 6
lea edx, [eax + esi]
movsx ebx, word [ebp + edx*2]
lea edx, [ebp + edx*2]
mov dword [esp + 0x28], ebx
lea ebx, [eax + esi]
movsx ebx, word [ebp + ebx*2 - 0x80]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x60], 0
test edi, edi
je 0x10046ae1
cmp dword [esp + 0x38], 0
je 0x10046ae1
cmp esi, 1
jl 0x10046ab1
lea ebx, [ecx + esi]
movsx ebx, word [ebp + ebx*2 - 0x82]
mov dword [esp + 0x24], ebx
movsx ebx, word [edx - 2]
jmp 0x10046ab5
mov ebx, dword [esp + 0x34]
cmp esi, 2
jl 0x10046ac9
lea edx, [ecx + esi]
movsx edx, word [ebp + edx*2 - 0x84]
mov dword [esp + 0x40], edx
cmp esi, 8
jl 0x10046b31
add ecx, esi
movsx ecx, word [ebp + ecx*2 - 0x90]
add eax, esi
movsx edx, word [ebp + eax*2 - 0x10]
jmp 0x10046b29
lea ebx, [esi + 2]
cmp ebx, 0x40
jge 0x10046af5
lea ebx, [ecx + esi]
movsx ebx, word [ebp + ebx*2 - 0x7c]
mov dword [esp + 0x40], ebx
lea ebx, [esi + 1]
cmp ebx, 0x40
jge 0x10046b0f
lea ebx, [ecx + esi]
movsx ebx, word [ebp + ebx*2 - 0x7e]
mov dword [esp + 0x24], ebx
movsx ebx, word [edx + 2]
jmp 0x10046b13
mov ebx, dword [esp + 0x34]
lea edx, [esi + 8]
cmp edx, 0x40
jge 0x10046b31
add ecx, esi
movsx ecx, word [ebp + ecx*2 - 0x70]
add eax, esi
movsx edx, word [ebp + eax*2 + 0x10]
mov dword [esp + 0x18], edx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0xb4]
mov eax, ecx
cdq
mov esi, eax
xor esi, edx
sub esi, edx
mov eax, ebp
cdq
xor eax, edx
sub eax, edx
add esi, eax
mov eax, dword [esp + 0x18]
cdq
xor eax, edx
sub eax, edx
lea esi, [eax + esi*2]
mov eax, dword [esp + 0x60]
cdq
xor eax, edx
sub eax, edx
add esi, eax
mov eax, ebx
mov ebx, dword [esp + 0x24]
cdq
xor eax, edx
sub eax, edx
add esi, eax
mov eax, ebx
cdq
xor eax, edx
sub eax, edx
add eax, esi
cdq
mov esi, 3
and edx, esi
add eax, edx
sar eax, 2
cmp edi, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], edi
jl 0x10046b98
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x38]
cmp eax, esi
mov dword [esp + 0x38], eax
jl 0x10046ba8
mov dword [esp + 0x38], esi
test ebp, ebp
je 0x10046bb8
xor eax, eax
test ebp, ebp
setle al
inc eax
mov esi, eax
jmp 0x10046bba
xor esi, esi
test ecx, ecx
je 0x10046bca
xor edx, edx
test ecx, ecx
setle dl
inc edx
mov edi, edx
jmp 0x10046bcc
xor edi, edi
xor ecx, ecx
test ebx, ebx
je 0x10046bd6
setle cl
inc ecx
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10046bea
xor edx, edx
test eax, eax
setle dl
inc edx
mov eax, edx
jmp 0x10046bec
xor eax, eax
xor edx, edx
cmp dword [esp + 0x18], edx
je 0x10046bf8
setle dl
inc edx
lea eax, [eax + edx*2]
add eax, edx
mov edx, dword [esp + 0x38]
lea ecx, [ecx + eax*2]
add ecx, eax
lea eax, [edi + ecx*8]
add eax, ecx
lea ecx, [esi + eax*2]
add ecx, eax
cmp dword [esp + 0x2c], 0
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x34]
lea edx, [ecx + eax*4]
mov dword [esp + 0x18], edx
jne 0x10046c81
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
sub ecx, ebx
add ecx, ebp
mov eax, ecx
sub eax, ebp
cdq
mov esi, eax
xor esi, edx
sub esi, edx
mov eax, ecx
sub eax, dword [esp + 0x28]
cdq
mov edi, eax
xor edi, edx
mov eax, ecx
sub eax, ebx
sub edi, edx
cdq
xor eax, edx
sub eax, edx
cmp esi, edi
jg 0x10046c5e
cmp esi, eax
jg 0x10046c5e
mov eax, ebp
jmp 0x10046c68
cmp edi, eax
mov eax, dword [esp + 0x28]
jle 0x10046c68
mov eax, ebx
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*2]
add eax, ebp
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov eax, dword [edx + ebx*4]
test eax, eax
jge 0x10046c92
neg eax
cmp eax, 0x1000
jge 0x10046cad
mov ecx, dword [esp + 0x874]
mov edi, dword [ecx + eax*4 + 0x20]
cmp edi, 9
mov dword [esp + 0x40], edi
jl 0x10046cb6
mov edi, 9
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x24]
test eax, eax
jge 0x10046cc0
neg eax
cmp eax, 0x1000
jge 0x10046cd7
mov edx, dword [esp + 0x874]
mov eax, dword [edx + eax*4 + 0x20]
cmp eax, 9
jl 0x10046cdc
mov eax, 9
mov ecx, dword [esp + 0x1c]
shl ecx, 4
mov edx, dword [esp + 0x2c]
add ecx, eax
shl ecx, 4
mov dword [esp + 0x34], ecx
add ecx, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x48]
movsx ecx, byte [ebx + ecx]
shl ecx, 4
add ecx, eax
shl ecx, 4
add ecx, edi
mov ebp, eax
mov esi, edi
shl ebp, 4
shl esi, 6
shl ecx, 6
add ebp, edi
add esi, edx
add ecx, edx
cmp dword [esp + 0x878], 0
je 0x10046fa2
mov eax, dword [esp + 0x880]
mov edi, dword [esp + 0x87c]
shl eax, 6
add eax, edx
mov eax, dword [edi + eax*4]
movsx edi, word [eax + ebx*2]
test edx, edx
jne 0x10046d58
mov edx, dword [esp + 0x3c]
shl ebx, 7
mov word [ebx + edx], di
sub edi, dword [esp + 0x4c]
jmp 0x10046d98
mov eax, dword [esp + 0x2c]
mov edx, dword [eax*4 + 0x10062360]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xb0]
mov edx, dword [edx]
mov ax, word [edx + eax*2]
mov edx, dword [esp + 0x3c]
imul ax, di
shl ebx, 6
add ebx, dword [esp + 0x1c]
mov word [edx + ebx*2], ax
cwde
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + edx*4 + 0xbc], eax
xor eax, eax
test edi, edi
setl al
mov dword [esp + 0x38], eax
mov eax, edi
cdq
mov ebx, eax
xor ebx, edx
sub ebx, edx
cmp ebx, 0x800
jge 0x100472b4
cmp dword [esp + 0x2c], 0
jne 0x10046e8f
mov eax, dword [esp + 0x874]
xor ecx, ecx
test ebx, ebx
sete cl
lea edi, [esp + 0x74]
push ecx
call fcn.100462f0
test ebx, ebx
je 0x10047155
mov eax, ebx
jge 0x10046de9
neg eax
cmp eax, 0x1000
jl 0x10046df7
mov edi, 0xb
jmp 0x10046e02
mov edx, dword [esp + 0x874]
mov edi, dword [edx + eax*4 + 0x20]
mov ecx, dword [esp + 0x50]
mov eax, ebp
shl eax, 4
sub eax, ebp
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x874]
push edi
call fcn.100477a0
test edi, edi
jle 0x10046e6e
or edx, 0xffffffff
mov ecx, edi
shl edx, cl
lea ecx, [edi - 1]
mov ebp, 1
shl ebp, cl
add ebx, edx
test edi, edi
jle 0x10046e6e
mov ecx, dword [esp + 0x40]
mov eax, edi
shl eax, 4
lea esi, [eax + ecx]
mov dword [esp + 0x1c], edi
jmp 0x10046e50
mov eax, dword [esp + 0x874]
mov edx, ebp
and edx, ebx
push edx
lea edi, [esp + 0x6c]
call fcn.100462f0
shr ebp, 1
sub dword [esp + 0x1c], 1
jne 0x10046e50
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x878]
lea edi, [esp + 0xa8]
call fcn.100462f0
jmp 0x10047155
cmp ebx, 0x100
jge 0x10046e9e
inc dword [esp + ebx*4 + 0x45c]
inc dword [esp + 0x5c]
mov eax, dword [esp + 0x874]
xor edx, edx
test ebx, ebx
sete dl
mov esi, ecx
lea edi, [esp + 0x8c]
push edx
call fcn.100462f0
test ebx, ebx
je 0x10047155
cmp ebx, 4
jge 0x10046eec
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x874]
imul ecx, ecx, 0x98
add ecx, dword [esp + 0x44]
push ebx
call fcn.100475c0
jmp 0x10046f81
mov eax, ebx
test ebx, ebx
jge 0x10046ef4
neg eax
cmp eax, 0x1000
jl 0x10046f02
mov edi, 0xb
jmp 0x10046f0d
mov ecx, dword [esp + 0x874]
mov edi, dword [ecx + eax*4 + 0x20]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x874]
imul ecx, ecx, 0x98
add ecx, dword [esp + 0x44]
lea edx, [edi + 4]
push edx
call fcn.100475c0
test edi, edi
jle 0x10046f81
or eax, 0xffffffff
mov ecx, edi
shl eax, cl
lea ecx, [edi - 1]
mov ebp, 1
shl ebp, cl
add ebx, eax
test edi, edi
jle 0x10046f81
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
add ecx, edi
shl ecx, 4
lea esi, [ecx + edx]
mov dword [esp + 0x1c], edi
lea ebx, [ebx]
mov eax, ebp
and eax, ebx
push eax
mov eax, dword [esp + 0x878]
lea edi, [esp + 0x9c]
call fcn.100462f0
shr ebp, 1
sub dword [esp + 0x1c], 1
jne 0x10046f60
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x874]
mov esi, dword [esp + 0x18]
push ecx
lea edi, [esp + 0x84]
call fcn.100462f0
jmp 0x10047155
test edx, edx
jne 0x10047058
mov eax, dword [esp + 0x874]
mov ecx, esi
lea ebx, [esp + 0x74]
call fcn.100463a0
test eax, eax
jne 0x10047054
mov eax, dword [esp + 0x50]
mov edx, ebp
shl edx, 4
sub edx, ebp
lea ecx, [eax + edx*8]
mov eax, dword [esp + 0x874]
call fcn.10047870
mov esi, 1
test eax, eax
jle 0x1004701f
mov ecx, eax
shl esi, cl
xor ebp, ebp
test eax, eax
jle 0x1004701b
shl ecx, 4
add ecx, edi
mov dword [esp + 0x54], ecx
mov edi, eax
mov eax, dword [esp + 0x874]
mov ecx, dword [esp + 0x54]
lea ebx, [esp + 0x68]
call fcn.100463a0
add eax, ebp
add eax, eax
sub edi, 1
mov ebp, eax
jne 0x10046ffc
shr ebp, 1
add esi, ebp
mov eax, dword [esp + 0x874]
mov ecx, dword [esp + 0x18]
lea ebx, [esp + 0xa4]
call fcn.100463a0
test eax, eax
je 0x1004703c
neg esi
add esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
shl eax, 7
mov word [eax + ecx], si
jmp 0x10047135
xor esi, esi
jmp 0x1004703c
mov ebp, dword [esp + 0x874]
mov eax, ebp
lea ebx, [esp + 0x8c]
call fcn.100463a0
test eax, eax
jne 0x100472ad
mov ecx, dword [esp + 0x24]
imul ecx, ecx, 0x98
add ecx, dword [esp + 0x44]
mov eax, ebp
call fcn.10047690
mov esi, eax
cmp esi, 4
jl 0x100470e3
lea ecx, [esi - 4]
mov esi, 1
test ecx, ecx
jle 0x100470e3
shl esi, cl
xor ebp, ebp
test ecx, ecx
jle 0x100470d8
mov edx, dword [esp + 0x34]
add edx, ecx
shl edx, 4
add edx, edi
mov dword [esp + 0x54], edx
mov edi, ecx
mov eax, dword [esp + 0x874]
mov ecx, dword [esp + 0x54]
lea ebx, [esp + 0x98]
call fcn.100463a0
add eax, ebp
add eax, eax
sub edi, 1
mov ebp, eax
jne 0x100470b6
shr ebp, 1
add esi, ebp
mov ebp, dword [esp + 0x874]
mov ecx, dword [esp + 0x18]
mov eax, ebp
lea ebx, [esp + 0x80]
call fcn.100463a0
test eax, eax
je 0x100470fb
neg esi
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax*4 + 0x10062360]
mov edx, dword [esp + 0xb0]
mov edx, dword [edx]
mov ax, word [edx + eax*2]
mov edx, dword [esp + 0x20]
imul ax, si
mov edi, dword [esp + 0x3c]
shl edx, 6
add edx, ecx
mov word [edi + edx*2], ax
cwde
cdq
xor eax, edx
sub eax, edx
mov dword [esp + ecx*4 + 0xbc], eax
mov eax, dword [esp + 0x880]
mov ecx, dword [esp + 0x87c]
shl eax, 6
add eax, dword [esp + 0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [esp + 0x20]
mov word [edx + eax*2], si
mov eax, dword [esp + 0x2c]
sub eax, 1
mov dword [esp + 0x2c], eax
jns 0x10046960
mov ecx, dword [esp + 0x874]
mov eax, dword [ecx + 0x4020]
test eax, eax
je 0x1004718b
mov ecx, dword [ecx + 0x4024]
push ecx
call eax
add esp, 4
test eax, eax
je 0x10047302
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0xb8]
mov dword [esp + 0x20], eax
jl 0x10046844
mov edx, dword [esp + 0x44]
push edx
call fcn.1004852e
mov eax, dword [esp + 0x54]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0x4c]
add esp, 4
push ecx
call fcn.1004852e
mov edx, dword [esp + 0x68]
add esp, 4
push edx
call fcn.1004852e
mov eax, dword [esp + 0x34]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0x40]
add esp, 4
push ecx
call fcn.1004852e
mov edx, dword [esp + 0x6c]
add esp, 4
push edx
call fcn.1004852e
mov eax, dword [esp + 0x70]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0x9c]
add esp, 4
push ecx
call fcn.1004852e
mov edx, dword [esp + 0xa0]
add esp, 4
push edx
call fcn.1004852e
mov eax, dword [esp + 0x78]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0x7c]
add esp, 4
push ecx
call fcn.1004852e
mov edx, dword [esp + 0x90]
add esp, 4
push edx
call fcn.1004852e
mov eax, dword [esp + 0x94]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0xa8]
add esp, 4
push ecx
call fcn.1004852e
mov edx, dword [esp + 0xac]
add esp, 4
push edx
call fcn.1004852e
mov eax, dword [esp + 0x84]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0x88]
add esp, 4
push ecx
call fcn.1004852e
add esp, 4
mov eax, 1
jmp 0x100473b8
xor esi, esi
jmp 0x100470fb
mov edx, dword [esp + 0x44]
push edx
call fcn.1004852e
mov eax, dword [esp + 0x54]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0x4c]
add esp, 4
push ecx
call fcn.1004852e
mov edx, dword [esp + 0x68]
add esp, 4
push edx
call fcn.1004852e
mov eax, dword [esp + 0x34]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0x40]
add esp, 4
push ecx
call fcn.1004852e
add esp, 4
mov edx, dword [esp + 0x68]
push edx
call fcn.1004852e
mov eax, dword [esp + 0x70]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0x9c]
add esp, 4
push ecx
call fcn.1004852e
mov edx, dword [esp + 0xa0]
add esp, 4
push edx
call fcn.1004852e
mov eax, dword [esp + 0x78]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0x7c]
add esp, 4
push ecx
call fcn.1004852e
mov edx, dword [esp + 0x90]
add esp, 4
push edx
call fcn.1004852e
mov eax, dword [esp + 0x94]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0xa8]
add esp, 4
push ecx
call fcn.1004852e
mov edx, dword [esp + 0xac]
add esp, 4
push edx
call fcn.1004852e
mov eax, dword [esp + 0x84]
add esp, 4
push eax
call fcn.1004852e
mov ecx, dword [esp + 0x88]
add esp, 4
push ecx
call fcn.1004852e
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x864]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x85c
ret 0x14