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

Disassembly:
push 0xffffffffffffffff
push 0x4f06ba
mov eax, dword fs:[0]
push eax
sub esp, 0x1fc
mov eax, dword [0x52a6ec]
xor eax, esp
mov dword [esp + 0x1f8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x52a6ec]
xor eax, esp
push eax
lea eax, [esp + 0x210]
mov dword fs:[0], eax
mov ebx, ecx
xor edi, edi
push 0x13bc
mov dword [esp + 0x20], ebx
mov dword [esp + 0x38], edi
call fcn.004c958c
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov dword [esp + 0x218], edi
cmp esi, edi
je 0x4611a0
lea ecx, [esp + 0x1b]
lea eax, [esi + 4]
push ecx
push eax
mov dword [esi], edi
call fcn.00462510
mov dword [esi + 0x30], edi
mov edi, esi
mov dword [esp + 0x20], esi
jmp 0x4611a4
mov dword [esp + 0x20], edi
or ebp, 0xffffffff
mov dword [esp + 0x218], ebp
mov ecx, dword [ebx + 0x50]
sub ecx, dword [ebx + 0x4c]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
xor ecx, ecx
mov eax, esi
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c83da
add esp, 4
test eax, eax
je 0x461205
dec esi
js 0x461201
lea ecx, [eax + 8]
lea ebx, [ebx]
mov dword [ecx - 8], ebp
mov dword [ecx - 4], ebp
mov dword [ecx], ebp
mov dword [ecx + 4], ebp
add ecx, 0x10
dec esi
jns 0x4611f0
mov esi, eax
jmp 0x461207
xor esi, esi
mov eax, dword [edi + 0x30]
cmp eax, esi
je 0x46121a
push eax
call fcn.004c9b0b
add esp, 4
mov dword [edi + 0x30], esi
lea eax, [esp + 0x1b]
push eax
lea ecx, [esp + 0x70]
push ecx
call fcn.004629f0
lea edx, [esp + 0x1b]
push edx
lea eax, [esp + 0x44]
push eax
mov dword [esp + 0x220], 1
call fcn.004629f0
lea ecx, [esp + 0x1b]
push ecx
lea edx, [esp + 0x9c]
push edx
mov byte [esp + 0x220], 2
call fcn.00462600
xor ebx, ebx
mov byte [esp + 0x218], 3
mov dword [esp + 0x14], ebx
jmp 0x461270
lea edi, [ebx + ebx*2]
add edi, edi
mov ecx, dword [edi + edi + 0x500cd8]
add edi, edi
mov eax, ecx
mov dword [esp + 0x190], 0xf
mov dword [esp + 0x18c], 0
mov byte [esp + 0x17c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4612a1
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x184]
call fcn.00404fd0
lea ecx, [esp + 0x17c]
lea esi, [esp + 0x40]
mov byte [esp + 0x218], 4
call fcn.00462380
lea ecx, [ebx + ebx + 1]
mov ebp, 0x10
mov dword [eax], ecx
mov byte [esp + 0x218], 3
cmp dword [esp + 0x190], ebp
jb 0x4612fc
mov edx, dword [esp + 0x17c]
push edx
call fcn.004c9387
add esp, 4
mov ecx, dword [edi + 0x500cdc]
mov eax, ecx
mov dword [esp + 0x190], 0xf
mov dword [esp + 0x18c], 0
mov byte [esp + 0x17c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x461325
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x184]
call fcn.00404fd0
lea ecx, [esp + 0x17c]
lea esi, [esp + 0x40]
mov byte [esp + 0x218], 5
call fcn.00462380
lea ecx, [ebx + ebx + 2]
mov dword [eax], ecx
mov byte [esp + 0x218], 3
cmp dword [esp + 0x190], ebp
jb 0x46137b
mov edx, dword [esp + 0x17c]
push edx
call fcn.004c9387
add esp, 4
mov ecx, dword [edi + 0x500cd8]
mov eax, ecx
mov dword [esp + 0x190], 0xf
mov dword [esp + 0x18c], 0
mov byte [esp + 0x17c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4613a4
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x184]
call fcn.00404fd0
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x180]
mov byte [esp + 0x21c], 6
call fcn.00462090
mov esi, eax
mov eax, dword [esi + 4]
lea ecx, [esp + 0x14]
cmp ecx, eax
jae 0x461449
mov edx, dword [esi]
cmp edx, ecx
ja 0x461449
mov ebp, ecx
mov ecx, dword [esi + 8]
sub ebp, edx
sar ebp, 2
cmp eax, ecx
jne 0x461437
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x461722
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x461437
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x461425
xor ecx, ecx
jmp 0x461427
add ecx, edx
cmp ecx, eax
jae 0x46142d
mov ecx, eax
push ecx
call fcn.004365f0
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea ecx, [edx + ebp*4]
test eax, eax
je 0x461496
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x461496
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x46148d
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x461722
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x46148d
mov edx, ecx
shr edx, 1
mov ebp, 0x3fffffff
sub ebp, edx
cmp ebp, ecx
jae 0x46147f
xor ecx, ecx
jmp 0x461481
add ecx, edx
cmp ecx, eax
jae 0x461487
mov ecx, eax
push ecx
call fcn.004365f0
mov eax, dword [esi + 4]
test eax, eax
je 0x461496
mov dword [eax], ebx
add dword [esi + 4], 4
mov byte [esp + 0x218], 3
cmp dword [esp + 0x190], 0x10
jb 0x4614bc
mov edx, dword [esp + 0x17c]
push edx
call fcn.004c9387
add esp, 4
mov ecx, dword [edi + 0x500cdc]
mov eax, ecx
mov dword [esp + 0x190], 0xf
mov dword [esp + 0x18c], 0
mov byte [esp + 0x17c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4614e5
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x184]
call fcn.00404fd0
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x180]
mov byte [esp + 0x21c], 7
call fcn.00462090
mov esi, eax
mov eax, dword [esi + 4]
lea ecx, [esp + 0x14]
cmp ecx, eax
jae 0x461586
mov edx, dword [esi]
cmp edx, ecx
ja 0x461586
mov ebp, ecx
mov ecx, dword [esi + 8]
sub ebp, edx
sar ebp, 2
cmp eax, ecx
jne 0x461574
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x461722
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x461574
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x461566
xor ecx, ecx
jmp 0x461568
add ecx, edx
cmp ecx, eax
jae 0x46156e
mov ecx, eax
push ecx
call fcn.004365f0
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea ecx, [edx + ebp*4]
test eax, eax
je 0x4615d3
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4615d3
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x4615ca
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x461722
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x4615ca
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x4615bc
xor ecx, ecx
jmp 0x4615be
add ecx, edx
cmp ecx, eax
jae 0x4615c4
mov ecx, eax
push ecx
call fcn.004365f0
mov eax, dword [esi + 4]
test eax, eax
je 0x4615d3
mov dword [eax], ebx
add dword [esi + 4], 4
mov byte [esp + 0x218], 3
cmp dword [esp + 0x190], 0x10
jb 0x4615f9
mov edx, dword [esp + 0x17c]
push edx
call fcn.004c9387
add esp, 4
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, 0xc
jb 0x461270
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x4c]
mov ecx, dword [eax + 0x50]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
xor edi, edi
add eax, edx
je 0x461ab8
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
add ecx, esi
mov dword [esp + 0x218], 3
test byte [esp + 0x34], 1
mov dword [esp + 0x28], ecx
je 0x461664
and dword [esp + 0x34], 0xfffffffe
lea edx, [esp + 0xcc]
push edx
call fcn.004075f0
xor eax, eax
or ebp, 0xffffffff
mov ebx, 0x18
mov ecx, 0xf
mov dword [esp + 0x38], ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x190], ecx
mov dword [esp + 0x18c], eax
mov byte [esp + 0x17c], al
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1c4], eax
mov byte [esp + 0x1b4], al
mov esi, dword [esp + 0x1c]
mov byte [esp + 0x218], 0x12
cmp edi, eax
jle 0x46178b
mov ecx, dword [esi + 0x50]
sub ecx, dword [esi + 0x4c]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x46172c
mov ecx, dword [esi + 0x4c]
mov eax, dword [esp + 0x14]
cmp dword [eax + ecx + 0x10], 0
je 0x46172c
cmp dword [eax + ecx + 0x20], edi
jne 0x46172c
cmp dword [eax + ecx + 0x24], 0xffff
jne 0x46172c
mov ecx, dword [esp + 0x28]
lea esi, [esp + 0x40]
mov dword [esp + 0x38], edi
call fcn.00462380
mov ecx, dword [esp + 0x28]
mov eax, dword [eax]
push ebp
push 0
push ecx
lea ecx, [esp + 0x188]
mov dword [esp + 0x38], eax
call fcn.00406140
jmp 0x4619de
push str.vector_T__too_long
call fcn.004c831f
mov ecx, dword [esi + 0x50]
sub ecx, dword [esi + 0x4c]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x46178b
mov ecx, dword [esi + 0x4c]
mov eax, dword [esp + 0x14]
cmp dword [eax + ecx + 0x10], 0
je 0x46178b
cmp dword [eax + ecx + 0x24], edi
sete al
test al, al
je 0x46178b
mov ecx, dword [esp + 0x28]
lea esi, [esp + 0x40]
mov ebp, edi
call fcn.00462380
mov ebx, dword [eax]
mov eax, dword [esp + 0x28]
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x1c0]
call fcn.00406140
jmp 0x4619de
test edi, edi
jle 0x4617e2
mov ecx, dword [esi + 0x50]
sub ecx, dword [esi + 0x4c]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp edi, ecx
jae 0x4617e2
mov edx, dword [esi + 0x4c]
mov ebx, dword [esp + 0x14]
add ebx, edx
cmp dword [ebx + 0x10], 0
je 0x4617e2
mov ecx, dword [esi + 0x50]
sub ecx, edx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp edi, ecx
jae 0x4617dd
cmp dword [ebx + 0x24], edi
sete al
test al, al
jne 0x4617e2
mov esi, dword [ebx + 0x20]
jmp 0x4617e7
mov esi, 0xffff
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x46181e
test esi, esi
jle 0x46181e
mov ecx, dword [ebx + 0x50]
sub ecx, dword [ebx + 0x4c]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x46181e
mov edx, dword [ebx + 0x4c]
lea ecx, [esi + esi*4]
cmp dword [edx + ecx*8 + 0x10], 0
lea eax, [edx + ecx*8]
jne 0x461823
mov eax, 0x52cd68
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x1f0], 0xf
mov dword [esp + 0x1ec], 0
mov byte [esp + 0x1dc], 0
call fcn.00406140
mov edx, dword [esp + 0x28]
mov byte [esp + 0x218], 0x13
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 0x38], esi
push 0xffffffffffffffff
lea esi, [esp + 0x19c]
call fcn.0040daa0
lea eax, [esp + 0x24]
push eax
mov ebx, esi
lea eax, [esp + 0x70]
mov byte [esp + 0x21c], 0x14
call fcn.00462ae0
mov esi, dword [esp + 0x70]
lea ecx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x70]
call fcn.00462ae0
cmp dword [esp + 0x3c], esi
jne 0x461921
mov ebp, dword [esp + 0x74]
lea edx, [esp + 0x2c]
push edx
mov eax, ebx
push eax
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x34], ebp
call fcn.004630f0
add esp, 8
mov byte [esp + 0x218], 0x15
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx]
push eax
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.00463c30
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea ecx, [esp + 0xcc]
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.004633a0
mov byte [esp + 0x218], 0x14
cmp dword [esp + 0x200], 0x10
jb 0x461928
mov eax, dword [esp + 0x1ec]
push eax
call fcn.004c9387
add esp, 4
jmp 0x461928
mov ecx, dword [esp + 0x24]
mov ebp, dword [ecx + 0x24]
lea ecx, [esp + 0x1d0]
lea esi, [esp + 0x40]
call fcn.00462380
mov edx, dword [eax]
lea ecx, [esp + 0x198]
mov dword [esp + 0x2c], edx
call fcn.00462380
mov ebx, dword [eax]
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x1d8]
push eax
lea ecx, [esp + 0x188]
call fcn.00406140
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x1a0]
push ecx
lea ecx, [esp + 0x1c0]
call fcn.00406140
mov byte [esp + 0x218], 0x13
cmp dword [esp + 0x1ac], 0x10
jb 0x46199e
mov edx, dword [esp + 0x198]
push edx
call fcn.004c9387
add esp, 4
mov byte [esp + 0x218], 0x12
cmp dword [esp + 0x1e4], 0x10
mov dword [esp + 0x1ac], 0xf
mov dword [esp + 0x1a8], 0
mov byte [esp + 0x198], 0
jb 0x4619de
mov eax, dword [esp + 0x1d0]
push eax
call fcn.004c9387
add esp, 4
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push esi
lea eax, [esi + 4]
push eax
lea ecx, [esp + 0x184]
push ecx
push edx
lea edx, [esp + 0x1c4]
lea ecx, [esp + 0xa8]
call fcn.00460a70
mov eax, dword [esi + 0x30]
add eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebp
mov esi, 0x10
add esp, 0x10
mov dword [eax + 0xc], ebx
mov byte [esp + 0x218], 0x11
cmp dword [esp + 0x1c8], esi
jb 0x461a4a
mov eax, dword [esp + 0x1b4]
push eax
call fcn.004c9387
add esp, 4
mov byte [esp + 0x218], 3
mov dword [esp + 0x1c8], 0xf
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1b4], 0
cmp dword [esp + 0x190], esi
jb 0x461a89
mov ecx, dword [esp + 0x17c]
push ecx
call fcn.004c9387
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x50]
add dword [esp + 0x30], esi
mov esi, dword [eax + 0x4c]
add dword [esp + 0x14], 0x28
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc edi
add eax, edx
cmp edi, eax
jb 0x461636
mov esi, dword [esp + 0x20]
push 0x9c4
lea ecx, [esi + 0x34]
push 0
push ecx
call fcn.004cf830
add esp, 0xc
push 0x9c4
push 0
add esi, 0x9f8
push esi
call fcn.004cf830
add esp, 0xc
xor ebp, ebp
jmp 0x461af0
mov ecx, dword [ebp + 0x500cd8]
xor ebx, ebx
mov edi, 0xf
mov eax, ecx
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x1a8], ebx
mov byte [esp + 0x198], bl
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x461b17
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x1a0]
call fcn.00404fd0
mov byte [esp + 0x218], 0x16
mov ecx, dword [ebp + 0x500cdc]
mov eax, ecx
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x1c4], ebx
mov byte [esp + 0x1b4], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x461b57
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x1bc]
call fcn.00404fd0
lea ecx, [esp + 0x198]
lea esi, [esp + 0x40]
mov byte [esp + 0x218], 0x17
call fcn.00462380
mov edi, dword [eax]
lea ecx, [esp + 0x1b4]
call fcn.00462380
mov eax, dword [eax]
mov edx, dword [ebp + 0x500ce0]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x1a8]
mov ebx, edi
imul ebx, ebx, 0x19
add ebx, eax
imul eax, eax, 0x19
mov dword [ecx + ebx*4 + 0x34], edx
mov edx, dword [ebp + 0x500ce0]
add eax, edi
mov dword [ecx + eax*4 + 0x34], edx
mov eax, esi
cmp esi, 1
jb 0x461bcd
mov eax, 1
cmp dword [esp + 0x1ac], 0x10
mov edx, dword [esp + 0x198]
jae 0x461be5
lea edx, [esp + 0x198]
mov ecx, 0x508cb8
call fcn.0040af80
xor edi, edi
cmp eax, edi
jne 0x461c09
cmp esi, 1
jae 0x461bff
or eax, 0xffffffff
jmp 0x461c07
xor eax, eax
cmp esi, 1
setne al
cmp eax, edi
sete al
test al, al
jne 0x461cae
mov eax, esi
cmp esi, 1
jb 0x461c20
mov eax, 1
cmp dword [esp + 0x1ac], 0x10
mov edx, dword [esp + 0x198]
jae 0x461c38
lea edx, [esp + 0x198]
mov ecx, 0x509474
call fcn.0040af80
cmp eax, edi
jne 0x461c5a
cmp esi, 1
jae 0x461c50
or eax, 0xffffffff
jmp 0x461c58
xor eax, eax
cmp esi, 1
setne al
cmp eax, edi
sete al
test al, al
jne 0x461cae
mov eax, esi
cmp esi, 1
jb 0x461c6d
mov eax, 1
cmp dword [esp + 0x1ac], 0x10
mov edx, dword [esp + 0x198]
jae 0x461c85
lea edx, [esp + 0x198]
mov ecx, 0x50690c
call fcn.0040af80
cmp eax, edi
jne 0x461ca7
cmp esi, 1
jae 0x461c9d
or eax, 0xffffffff
jmp 0x461ca5
xor eax, eax
cmp esi, 1
setne al
cmp eax, edi
sete al
test al, al
je 0x461cbf
mov eax, dword [ebp + 0x500ce0]
mov ecx, dword [esp + 0x20]
mov dword [ecx + ebx*4 + 0x9f8], eax
mov byte [esp + 0x218], 0x16
cmp dword [esp + 0x1c8], 0x10
jb 0x461ce1
mov edx, dword [esp + 0x1b4]
push edx
call fcn.004c9387
add esp, 4
mov esi, 0xf
mov byte [esp + 0x218], 3
cmp dword [esp + 0x1ac], 0x10
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x1c4], edi
mov byte [esp + 0x1b4], 0
jb 0x461d1e
mov eax, dword [esp + 0x198]
push eax
call fcn.004c9387
add esp, 4
add ebp, 0xc
mov dword [esp + 0x1ac], esi
mov dword [esp + 0x1a8], edi
mov byte [esp + 0x198], 0
cmp ebp, 0x90
jb 0x461af0
mov byte [esp + 0x218], 0x18
mov eax, dword [esp + 0xa8]
xor esi, esi
cmp eax, esi
je 0x461d61
push eax
call fcn.004c9387
add esp, 4
lea ecx, [esp + 0x9c]
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0x24], ecx
mov edx, ecx
push edx
mov byte [esp + 0x21c], 0x19
call fcn.00462da0
mov byte [esp + 0x218], 2
mov eax, dword [esp + 0x9c]
push eax
call fcn.004c9387
add esp, 4
mov byte [esp + 0x218], 0x1a
mov eax, dword [esp + 0x50]
cmp eax, esi
je 0x461dc2
push eax
call fcn.004c9387
add esp, 4
lea ecx, [esp + 0x44]
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x24], ecx
mov edx, ecx
push edx
mov byte [esp + 0x21c], 0x1b
call fcn.00478cd0
mov byte [esp + 0x218], 1
mov eax, dword [esp + 0x44]
push eax
call fcn.004c9387
add esp, 4
mov dword [esp + 0x218], 0x1c
mov eax, dword [esp + 0x7c]
cmp eax, esi
je 0x461e17
push eax
call fcn.004c9387
add esp, 4
lea ecx, [esp + 0x70]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x24], ecx
mov edx, ecx
push edx
mov dword [esp + 0x21c], 0x1d
call fcn.00478cd0
mov dword [esp + 0x218], 0xffffffff
mov eax, dword [esp + 0x70]
push eax
call fcn.004c9387
mov eax, dword [esp + 0x24]
add esp, 4
mov ecx, dword [esp + 0x210]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1f8]
xor ecx, esp
call fcn.004c9392
add esp, 0x208
ret