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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x7a0ce1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb14
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
lea ecx, [edi + 0x30]
mov eax, dword [ebx + 0x516d1c]
push ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.007608e9
mov edx, dword [esp + 0x38]
xor esi, esi
mov dword [esp + 0xb28], esi
cmp dword [edx - 8], esi
jle 0x57098e
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x14], eax
mov eax, 0x7cab08
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd8], esi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], esi
mov dword [esp + 0xec], esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0xe4], esi
lea edx, [edi + 0x418]
lea ecx, [esp + 0xa4]
push edx
mov byte [esp + 0xb2c], 2
call fcn.007608e9
mov eax, dword [esp + 0xa4]
mov byte [esp + 0xb28], 3
push eax
call fcn.00749c34
fmul qword [0x7d7250]
add esp, 4
add edi, 0x800
lea ecx, [esp + 0xb0]
push edi
fstp qword [esp + 0xa0]
call fcn.007608e9
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.00749c34
fmul qword [0x7d7250]
add esp, 4
mov dword [esp + 0x20], esi
mov dword [esp + 0xb4], 0x7cb8e8
mov dword [esp + 0xb8], esi
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc0], esi
fstp qword [esp + 0x94]
mov dword [esp + 0xbc], esi
mov edx, dword [esp + 0x38]
mov byte [esp + 0xb28], 5
mov eax, dword [edx - 8]
cmp eax, esi
je 0x56f90e
push 0x829a3c
lea ecx, [esp + 0x3c]
call fcn.0075cca2
mov ecx, dword [0x830b20]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
lea edx, [esp + 0x2c]
push eax
push edx
lea ecx, [esp + 0x40]
mov byte [esp + 0xb30], 6
call fcn.0075cc08
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0xb2c], 7
call fcn.007609b4
lea ecx, [esp + 0x2c]
mov byte [esp + 0xb28], 6
call fcn.0076087b
mov eax, dword [esp + 0x48]
push eax
call fcn.00749c29
mov edx, dword [esp + 0x14]
mov esi, eax
add esp, 4
mov eax, dword [ebx + edx*4 + 0xf0]
lea ecx, [esi + esi*4]
lea edi, [esi + ecx*2]
shl edi, 4
add eax, edi
cmp byte [eax + 8], 7
je 0x56f81b
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x34], eax
inc eax
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0xbc]
mov dword [esp + 0x70], edx
call fcn.005fc3f0
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x64]
mov dword [ecx + eax*8], edx
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x68]
mov dword [ecx + eax*8 + 4], edx
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x56f864
mov eax, dword [esp + 0x10]
push 0xffffffffffffffff
mov dword [esp + 0x24], 1
mov ecx, dword [ebx + eax*4 + 0xf0]
mov eax, dword [esp + 0xd4]
movsx edx, byte [edi + ecx + 8]
mov edi, eax
inc eax
push eax
lea ecx, [esp + 0xd0]
mov dword [esp + 0x60], edx
call fcn.00407880
mov eax, dword [esp + 0xcc]
mov dword [eax + edi*4], esi
jmp 0x56f8a7
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx + ecx*4 + 0xf0]
mov ecx, dword [esp + 0x58]
movsx eax, byte [edi + edx + 8]
cmp eax, ecx
jne 0x56f8a7
mov eax, dword [esp + 0xe4]
push 0xffffffffffffffff
mov edi, eax
inc eax
push eax
lea ecx, [esp + 0xe4]
call fcn.00407880
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x20], 0
mov dword [ecx + edi*4], esi
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov eax, dword [edx - 8]
sub eax, ecx
lea ecx, [esp + 0x38]
dec eax
push eax
lea eax, [esp + 0x10]
push eax
call fcn.0075cb8c
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb2c], 8
call fcn.007609b4
lea ecx, [esp + 0xc]
mov byte [esp + 0xb28], 6
call fcn.0076087b
lea ecx, [esp + 0x48]
mov byte [esp + 0xb28], 5
call fcn.0076087b
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x56f751
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ebx + ecx*4 + 0xf0]
lea edx, [edi + edi*4]
lea eax, [edi + edx*2]
shl eax, 4
mov dword [esp + 0x20], eax
mov edx, dword [eax + ecx + 0x18]
mov dword [esp + 0x44], edx
mov edx, dword [eax + ecx + 0x14]
mov dword [esp + 0x58], edx
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
mov dword [esp + 0x48], eax
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x24], edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0x18]
test eax, eax
jl 0x5708fb
mov edx, dword [edx + 0x1c]
test edx, edx
jl 0x5708fb
lea esi, [eax + eax*4]
lea eax, [eax + esi*2]
shl eax, 4
mov esi, dword [eax + ecx]
mov dword [esp + 0x64], esi
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x68], eax
lea eax, [edx + edx*4]
lea edx, [edx + eax*2]
shl edx, 4
mov eax, dword [edx + ecx]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [edx + ecx + 4]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
sub eax, edx
cdq
mov esi, eax
mov eax, dword [esp + 0x30]
xor esi, edx
sub esi, edx
mov edx, dword [esp + 0x28]
sub eax, edx
mov dword [esp + 0x40], esi
cdq
xor eax, edx
sub eax, edx
cmp esi, eax
mov dword [esp + 0x4c], eax
jge 0x56f9ea
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
cmp edx, eax
jmp 0x56f9f4
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
cmp eax, edx
jl 0x56fa00
mov dword [esp + 0x34], 1
jmp 0x56fa0c
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x34], 2
lea eax, [edi + edi*4]
mov dword [esp + 0x3c], edi
lea edx, [edi + eax*2]
shl edx, 4
mov eax, dword [edx + ecx]
mov dword [esp + 0x24], eax
xor eax, eax
mov ecx, dword [edx + ecx + 4]
mov dword [esp + 0x80], 0x7cb8e8
mov dword [esp + 0x28], ecx
mov dword [esp + 0x84], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], eax
mov byte [esp + 0xb28], 0xc
mov esi, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0xc], edi
cmp edi, dword [ebx + esi*4 + 0xdc]
jge 0x56fe7a
mov edx, dword [ebx + esi*4 + 0xf0]
mov eax, dword [esp + 0xc]
add eax, edx
mov edx, dword [esp + 0x44]
mov ecx, dword [eax + 0x18]
cmp ecx, edx
jne 0x56faf0
mov edx, dword [eax + 0x14]
mov ecx, dword [esp + 0x58]
cmp edx, ecx
jne 0x56faf0
mov eax, dword [eax + 0x10]
and eax, 0xf
cmp al, 1
jne 0x56faf0
push esi
push edi
mov ecx, ebx
call fcn.005b2930
test eax, eax
je 0x56faf0
mov eax, dword [esp + 0xc]
mov ecx, dword [ebx + esi*4 + 0xf0]
mov edx, dword [esp + 0x24]
add eax, ecx
mov ecx, dword [eax]
cmp ecx, edx
jne 0x56faf0
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x28]
cmp edx, eax
jne 0x56faf0
cmp edi, dword [esp + 0x3c]
je 0x56faf0
push edi
push esi
mov ecx, ebx
call fcn.0055f2a0
test eax, eax
push edi
push esi
mov ecx, ebx
jne 0x56fb03
call fcn.0055f2d0
test eax, eax
jne 0x56fc88
mov eax, dword [esp + 0xc]
inc edi
add eax, 0xb0
mov dword [esp + 0xc], eax
jmp 0x56fa63
call fcn.0055e9e0
cmp edi, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], edi
jg 0x56fa5d
lea eax, [edi + edi*4]
lea edi, [edi + eax*2]
shl edi, 4
mov ecx, dword [esp + 0x18]
push esi
push ecx
mov ecx, ebx
call fcn.005b2930
test eax, eax
je 0x56fc64
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x18]
cmp eax, dword [edx + 0x1c]
je 0x56fe08
mov ecx, dword [ebx + esi*4 + 0xf0]
mov edx, dword [esp + 0x50]
lea eax, [edi + ecx]
mov ecx, dword [edi + ecx]
cmp ecx, edx
jne 0x56fb6a
mov ecx, dword [esp + 0x54]
mov edx, dword [eax + 4]
cmp edx, ecx
je 0x56fe08
mov esi, dword [esp + 0x88]
mov edx, dword [eax]
mov eax, dword [eax + 4]
push 0xffffffffffffffff
lea ecx, [esi + 1]
mov dword [esp + 0xac], edx
push ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0xb4], eax
call fcn.005fc3f0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0xa8]
mov dword [edx + esi*8], eax
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x18]
mov dword [ecx + esi*8 + 4], edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov esi, dword [ebx + ecx*4 + 0xf0]
mov ecx, dword [esp + 0x48]
mov eax, dword [edi + esi + 4]
mov edx, dword [edi + esi]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + esi]
mov ecx, dword [ecx + esi + 4]
cmp edx, eax
mov dword [esp + 0x24], edx
jne 0x56fbf0
cmp dword [edi + esi + 4], ecx
je 0x56fc64
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + esi]
mov eax, dword [ecx + esi]
mov ecx, dword [ecx + esi + 4]
cmp edx, eax
jne 0x56fc08
cmp dword [edi + esi + 4], ecx
je 0x56fc64
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
cmp eax, ecx
jge 0x56fc3f
mov edx, dword [edi + esi + 4]
lea esi, [edi + esi + 4]
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fmul qword [esp + 0x94]
call fcn.007496f4
mov ecx, dword [esp + 0x2c]
cdq
xor eax, edx
sub eax, edx
add eax, ecx
mov dword [esi], eax
jmp 0x56fc64
mov eax, dword [edi + esi]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fmul qword [esp + 0x9c]
call fcn.007496f4
mov ecx, dword [esp + 0x2c]
cdq
xor eax, edx
sub eax, edx
add eax, ecx
mov dword [edi + esi], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
inc eax
add edi, 0xb0
cmp eax, ecx
mov dword [esp + 0x18], eax
jle 0x56fb21
jmp 0x56fa5d
push edi
push esi
mov ecx, ebx
call fcn.0055ea30
cmp edi, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], edi
jl 0x56fa5d
mov esi, dword [esp + 0x18]
lea ecx, [edi + edi*4]
lea edi, [edi + ecx*2]
shl edi, 4
mov edx, dword [esp + 0x10]
mov ecx, ebx
push edx
push esi
call fcn.005b2930
test eax, eax
je 0x56fde8
mov eax, dword [ebp + 8]
cmp esi, dword [eax + 0x1c]
je 0x56fe40
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx + ecx*4 + 0xf0]
mov ecx, dword [esp + 0x50]
lea eax, [edi + edx]
mov edx, dword [edi + edx]
cmp edx, ecx
jne 0x56fcf7
mov edx, dword [esp + 0x54]
mov ecx, dword [eax + 4]
cmp ecx, edx
je 0x56fe40
mov esi, dword [esp + 0x88]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
lea eax, [esi + 1]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0x68], edx
call fcn.005fc3f0
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x5c]
mov dword [ecx + esi*8], edx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x18]
mov dword [eax + esi*8 + 4], ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], edx
mov esi, dword [ebx + eax*4 + 0xf0]
mov ecx, dword [edi + esi]
mov edx, dword [edi + esi + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x28], edx
mov edx, dword [edi + esi]
mov eax, dword [ecx + esi]
mov ecx, dword [ecx + esi + 4]
cmp edx, eax
jne 0x56fd74
cmp dword [edi + esi + 4], ecx
je 0x56fde8
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + esi]
mov eax, dword [ecx + esi]
mov ecx, dword [ecx + esi + 4]
cmp edx, eax
jne 0x56fd8c
cmp dword [edi + esi + 4], ecx
je 0x56fde8
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jge 0x56fdc3
mov ecx, dword [edi + esi + 4]
lea esi, [edi + esi + 4]
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
fmul qword [esp + 0x94]
call fcn.007496f4
mov ecx, dword [esp + 0x2c]
cdq
xor eax, edx
sub eax, edx
add eax, ecx
mov dword [esi], eax
jmp 0x56fde8
mov edx, dword [edi + esi]
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fmul qword [esp + 0x9c]
call fcn.007496f4
mov ecx, dword [esp + 0x2c]
cdq
xor eax, edx
sub eax, edx
add eax, ecx
mov dword [edi + esi], eax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
dec esi
sub edi, 0xb0
cmp esi, eax
mov dword [esp + 0x18], esi
jge 0x56fcae
jmp 0x56fa59
mov edi, dword [esp + 0x88]
push 0xffffffffffffffff
lea ecx, [esp + 0x84]
lea eax, [edi + 1]
push eax
call fcn.005fc3f0
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x50]
mov dword [ecx + edi*8], edx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x54]
mov dword [eax + edi*8 + 4], ecx
jmp 0x56fe7a
mov esi, dword [esp + 0x88]
push 0xffffffffffffffff
lea ecx, [esp + 0x84]
lea edx, [esi + 1]
push edx
call fcn.005fc3f0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x50]
mov dword [eax + esi*8], ecx
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x54]
mov dword [edx + esi*8 + 4], eax
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x88]
push 0xffffffffffffffff
lea ecx, [edi + 1]
push ecx
lea ecx, [esp + 0x88]
call fcn.005fc3f0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x64]
push 0xffffffffffffffff
mov dword [edx + edi*8], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x6c]
mov dword [ecx + edi*8 + 4], edx
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea eax, [edi + 1]
mov dword [esp + 0x60], ecx
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0x68], edx
call fcn.005fc3f0
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x5c]
mov dword [ecx + edi*8], edx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x60]
mov dword [eax + edi*8 + 4], ecx
mov eax, dword [esp + 0x34]
cmp eax, 2
mov eax, dword [esp + 0x14]
je 0x56ff0b
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + esi*4 + 0xf0]
lea edx, [eax + eax*4]
mov dword [esp + 0x3c], eax
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 4]
xor eax, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x6c], 0x7cb8e8
mov dword [esp + 0x70], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
mov byte [esp + 0xb28], 0xd
mov esi, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x34], edi
cmp edi, dword [ebx + esi*4 + 0xdc]
jge 0x570347
mov eax, dword [ebx + esi*4 + 0xf0]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
add eax, ecx
cmp dword [eax + 0x18], edx
jne 0x56ffe6
mov ecx, dword [esp + 0x58]
mov edx, dword [eax + 0x14]
cmp edx, ecx
jne 0x56ffe6
mov edx, dword [eax + 0x10]
and edx, 0xf
cmp dl, 1
jne 0x56ffe6
push esi
push edi
mov ecx, ebx
call fcn.005b2930
test eax, eax
je 0x56ffe6
mov eax, dword [ebx + esi*4 + 0xf0]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
add eax, ecx
mov ecx, dword [eax]
cmp ecx, edx
jne 0x56ffe6
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x28]
cmp edx, eax
jne 0x56ffe6
cmp edi, dword [esp + 0x3c]
je 0x56ffe6
push edi
push esi
mov ecx, ebx
call fcn.0055f2a0
test eax, eax
push edi
push esi
mov ecx, ebx
jne 0x56fff9
call fcn.0055f2d0
test eax, eax
jne 0x57016a
mov eax, dword [esp + 0x34]
inc edi
add eax, 0xb0
mov dword [esp + 0x34], eax
jmp 0x56ff5a
call fcn.0055e9e0
cmp edi, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], edi
jg 0x56ff54
lea eax, [edi + edi*4]
lea edi, [edi + eax*2]
shl edi, 4
mov ecx, dword [esp + 0x18]
push esi
push ecx
mov ecx, ebx
call fcn.005b2930
test eax, eax
je 0x570146
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x18]
cmp eax, dword [edx + 0x1c]
je 0x5702ed
mov ecx, dword [ebx + esi*4 + 0xf0]
mov edx, dword [esp + 0x50]
lea eax, [ecx + edi]
mov ecx, dword [ecx + edi]
cmp ecx, edx
jne 0x570060
mov ecx, dword [esp + 0x54]
mov edx, dword [eax + 4]
cmp edx, ecx
je 0x5702ed
mov esi, dword [esp + 0x74]
mov edx, dword [eax]
mov eax, dword [eax + 4]
push 0xffffffffffffffff
lea ecx, [esi + 1]
mov dword [esp + 0x60], edx
push ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x68], eax
call fcn.005fc3f0
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x5c]
mov dword [edx + esi*8], eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x18]
mov dword [ecx + esi*8 + 4], edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov esi, dword [ebx + ecx*4 + 0xf0]
mov ecx, dword [esp + 0x48]
mov eax, dword [esi + edi + 4]
mov edx, dword [esi + edi]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + esi]
mov ecx, dword [ecx + esi + 4]
cmp edx, eax
mov dword [esp + 0x24], edx
jne 0x5700ce
cmp dword [esi + edi + 4], ecx
je 0x570146
mov ecx, dword [esp + 0x20]
mov edx, dword [esi + edi]
mov eax, dword [ecx + esi]
mov ecx, dword [ecx + esi + 4]
cmp edx, eax
jne 0x5700e6
cmp dword [esi + edi + 4], ecx
je 0x570146
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
cmp eax, ecx
jge 0x57011f
lea esi, [esi + edi + 4]
mov dword [esp + 0x2c], esi
mov esi, dword [esi]
mov dword [esp + 0x14], esi
fild dword [esp + 0x14]
fmul qword [esp + 0x94]
call fcn.007496f4
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0x2c]
sub esi, eax
mov dword [edx], esi
jmp 0x570146
mov eax, dword [esi + edi]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [esp + 0x9c]
call fcn.007496f4
cdq
mov ecx, eax
mov eax, dword [esp + 0x14]
xor ecx, edx
sub ecx, edx
sub eax, ecx
mov dword [esi + edi], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
inc eax
add edi, 0xb0
cmp eax, ecx
mov dword [esp + 0x18], eax
jle 0x570017
jmp 0x56ff54
push edi
push esi
mov ecx, ebx
call fcn.0055ea30
cmp edi, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], edi
jl 0x56ff54
mov esi, dword [esp + 0x18]
lea edx, [edi + edi*4]
lea edi, [edi + edx*2]
shl edi, 4
mov eax, dword [esp + 0x10]
mov ecx, ebx
push eax
push esi
call fcn.005b2930
test eax, eax
je 0x5702cd
mov ecx, dword [ebp + 8]
cmp esi, dword [ecx + 0x1c]
je 0x570319
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov eax, dword [ebx + edx*4 + 0xf0]
mov edx, dword [eax + edi]
add eax, edi
cmp edx, ecx
jne 0x5701d8
mov edx, dword [esp + 0x54]
mov ecx, dword [eax + 4]
cmp ecx, edx
je 0x570319
mov esi, dword [esp + 0x74]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0xa8], ecx
lea eax, [esi + 1]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x74]
mov dword [esp + 0xb4], edx
call fcn.005fc3f0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xa8]
mov dword [ecx + esi*8], edx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x18]
mov dword [eax + esi*8 + 4], ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], edx
mov esi, dword [ebx + eax*4 + 0xf0]
mov ecx, dword [esi + edi]
mov edx, dword [esi + edi + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x28], edx
mov edx, dword [esi + edi]
mov eax, dword [ecx + esi]
mov ecx, dword [ecx + esi + 4]
cmp edx, eax
jne 0x570255
cmp dword [esi + edi + 4], ecx
je 0x5702cd
mov ecx, dword [esp + 0x20]
mov edx, dword [esi + edi]
mov eax, dword [ecx + esi]
mov ecx, dword [ecx + esi + 4]
cmp edx, eax
jne 0x57026d
cmp dword [esi + edi + 4], ecx
je 0x5702cd
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jge 0x5702a6
lea esi, [esi + edi + 4]
mov dword [esp + 0x2c], esi
mov esi, dword [esi]
mov dword [esp + 0x14], esi
fild dword [esp + 0x14]
fmul qword [esp + 0x94]
call fcn.007496f4
mov ecx, dword [esp + 0x2c]
cdq
xor eax, edx
sub eax, edx
sub esi, eax
mov dword [ecx], esi
jmp 0x5702cd
mov edx, dword [esi + edi]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [esp + 0x9c]
call fcn.007496f4
cdq
mov ecx, eax
mov eax, dword [esp + 0x14]
xor ecx, edx
sub ecx, edx
sub eax, ecx
mov dword [esi + edi], eax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
dec esi
sub edi, 0xb0
cmp esi, eax
mov dword [esp + 0x18], esi
jge 0x570190
jmp 0x56ff50
mov edi, dword [esp + 0x74]
push 0xffffffffffffffff
lea ecx, [esp + 0x70]
lea edx, [edi + 1]
push edx
call fcn.005fc3f0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x50]
mov dword [eax + edi*8], ecx
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x54]
mov dword [edx + edi*8 + 4], eax
jmp 0x570347
mov esi, dword [esp + 0x74]
push 0xffffffffffffffff
lea ecx, [esi + 1]
push ecx
lea ecx, [esp + 0x74]
call fcn.005fc3f0
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x50]
mov dword [edx + esi*8], eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x54]
mov dword [ecx + esi*8 + 4], edx
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x74]
push 0xffffffffffffffff
lea ecx, [esp + 0x70]
lea eax, [edi + 1]
push eax
call fcn.005fc3f0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
push 0xffffffffffffffff
mov dword [ecx + edi*8], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
mov dword [eax + edi*8 + 4], ecx
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
lea ecx, [edi + 1]
mov edx, dword [eax]
mov eax, dword [eax + 4]
push ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
call fcn.005fc3f0
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x5c]
mov dword [edx + edi*8], eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x60]
mov dword [ecx + edi*8 + 4], edx
mov eax, dword [ebx + esi*4 + 0xdc]
xor edi, edi
test eax, eax
jle 0x570605
mov ecx, dword [ebx + esi*4 + 0xf0]
lea eax, [edi + edi*4]
lea eax, [edi + eax*2]
shl eax, 4
mov dword [esp + 0x14], eax
add eax, ecx
mov ecx, dword [esp + 0x44]
mov edx, dword [eax + 0x18]
cmp edx, ecx
jne 0x5705f5
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x58]
cmp ecx, edx
jne 0x5705f5
mov edx, dword [eax + 0x10]
and edx, 0xf
cmp dl, 2
jne 0x5705f5
push edi
push esi
mov ecx, ebx
call fcn.0055e9e0
cmp edi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edi
jg 0x5705f1
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x20]
push esi
push eax
mov ecx, ebx
call fcn.005b2930
test eax, eax
je 0x5705d2
mov ecx, dword [ebx + esi*4 + 0xf0]
mov dword [esp + 0x14], 0
add ecx, edi
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xbc]
test eax, eax
mov dword [esp + 0x64], edx
jle 0x57049a
mov eax, dword [esp + 0xb8]
mov edx, dword [eax]
mov edi, dword [esp + 0x64]
cmp edx, edi
jne 0x57047f
mov edx, dword [eax + 4]
mov edi, dword [esp + 0x68]
cmp edx, edi
je 0x5705ce
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0xbc]
inc edx
add eax, 8
cmp edx, edi
mov dword [esp + 0x14], edx
jl 0x570466
mov edi, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
lea edx, [esp + 0x80]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.005e1840
test eax, eax
je 0x570530
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
cmp eax, edx
mov eax, dword [ebx + esi*4 + 0xf0]
jge 0x5704fd
mov ecx, dword [eax + edi + 4]
lea eax, [eax + edi + 4]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c], eax
fild dword [esp + 0xc]
fmul qword [esp + 0x94]
call fcn.007496f4
mov ecx, dword [esp + 0xc]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0x1c]
add eax, ecx
mov dword [edx], eax
jmp 0x5705d2
mov ecx, dword [eax + edi]
add eax, edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c], eax
fild dword [esp + 0xc]
fmul qword [esp + 0x9c]
call fcn.007496f4
mov ecx, dword [esp + 0xc]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0x1c]
add eax, ecx
mov dword [edx], eax
jmp 0x5705d2
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x6c]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.005e1840
test eax, eax
je 0x5705d2
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jge 0x570596
mov ecx, dword [ebx + esi*4 + 0xf0]
mov edx, dword [ecx + edi + 4]
lea eax, [ecx + edi + 4]
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], eax
fild dword [esp + 0xc]
fmul qword [esp + 0x94]
call fcn.007496f4
cdq
mov ecx, eax
mov eax, dword [esp + 0xc]
xor ecx, edx
sub ecx, edx
mov edx, dword [esp + 0x1c]
sub eax, ecx
mov dword [edx], eax
jmp 0x5705d2
mov eax, dword [ebx + esi*4 + 0xf0]
add eax, edi
mov dword [esp + 0x1c], eax
mov ecx, dword [eax]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [esp + 0x9c]
call fcn.007496f4
cdq
mov ecx, eax
mov eax, dword [esp + 0xc]
xor ecx, edx
sub ecx, edx
mov edx, dword [esp + 0x1c]
sub eax, ecx
mov dword [edx], eax
jmp 0x5705d2
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
inc eax
add edi, 0xb0
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
jle 0x570421
mov edi, dword [esp + 0x2c]
mov eax, dword [ebx + esi*4 + 0xdc]
inc edi
cmp edi, eax
jl 0x5703bd
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x14], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea edx, [eax + eax*4]
mov ecx, dword [ebx + edx*4 + 0x320dbc]
lea eax, [ebx + edx*4]
test ecx, ecx
mov dword [esp + 0x20], eax
jle 0x570785
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, 0x28c
mov esi, dword [eax + 0x320db8]
add esi, edi
lea edi, [esp + 0xf0]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x100]
mov esi, dword [esp + 0xfc]
lea ecx, [esp + 0x80]
mov dword [esp + 0x24], esi
push ecx
push edi
push esi
mov ecx, ebx
mov dword [esp + 0x34], edi
call fcn.005e1840
test eax, eax
je 0x5706d0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
cmp eax, edx
jge 0x5706b4
fild dword [esp + 0x100]
fmul qword [esp + 0x94]
call fcn.007496f4
cdq
mov ecx, eax
mov eax, esi
xor ecx, edx
sub ecx, edx
add ecx, edi
jmp 0x570734
fild dword [esp + 0xfc]
fmul qword [esp + 0x9c]
call fcn.007496f4
cdq
xor eax, edx
sub eax, edx
add eax, esi
jmp 0x570730
lea eax, [esp + 0x6c]
mov ecx, ebx
push eax
push edi
push esi
call fcn.005e1840
test eax, eax
je 0x57072c
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
cmp eax, ecx
jge 0x57070e
fild dword [esp + 0x100]
fmul qword [esp + 0x94]
call fcn.007496f4
cdq
xor eax, edx
sub eax, edx
sub edi, eax
mov dword [esp + 0x28], edi
jmp 0x57072c
fild dword [esp + 0xfc]
fmul qword [esp + 0x9c]
call fcn.007496f4
cdq
xor eax, edx
sub eax, edx
sub esi, eax
mov dword [esp + 0x24], esi
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x100], ecx
mov ecx, 0x28c
lea esi, [esp + 0xf0]
mov edi, dword [edx + 0x320db8]
mov edx, dword [esp + 0x1c]
add edi, edx
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x14]
add edx, 0xa30
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
inc eax
mov edx, dword [ecx + 0x320dbc]
mov dword [esp + 0x14], eax
cmp eax, edx
jl 0x57063c
mov edi, dword [esp + 0x10]
xor esi, esi
mov eax, dword [ebx + edi*4 + 0xdc]
test eax, eax
jle 0x5707e1
mov ecx, dword [ebx + edi*4 + 0xf0]
lea edx, [esi + esi*4]
lea eax, [esi + edx*2]
mov edx, dword [esp + 0x44]
shl eax, 4
add eax, ecx
cmp dword [eax + 0x18], edx
jne 0x5707d5
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jne 0x5707d5
push esi
push edi
mov ecx, ebx
call fcn.0055e9e0
push esi
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.005d80d0
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + edi*4 + 0xdc]
inc esi
cmp esi, eax
jl 0x570796
mov ecx, dword [esp + 0x44]
mov esi, 0x7cb8e8
mov dword [ebx + ecx*4 + 0x515d58], 1
mov dword [esp + 0x6c], esi
mov eax, dword [esp + 0x70]
mov byte [esp + 0xb28], 0xe
test eax, eax
je 0x570812
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x84]
mov byte [esp + 0xb28], 0xf
test eax, eax
je 0x570835
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xb4], esi
mov eax, dword [esp + 0xb8]
mov byte [esp + 0xb28], 0x10
test eax, eax
je 0x570858
push eax
call fcn.007604d0
add esp, 4
lea ecx, [esp + 0xb0]
mov byte [esp + 0xb28], 3
call fcn.0076087b
lea ecx, [esp + 0xa4]
mov byte [esp + 0xb28], 2
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0xdc], esi
mov eax, dword [esp + 0xe0]
mov byte [esp + 0xb28], 0x11
test eax, eax
je 0x5708a8
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xcc]
mov byte [esp + 0xb28], 0x12
test eax, eax
je 0x5708cb
push eax
call fcn.007604d0
add esp, 4
lea ecx, [esp + 0x38]
mov dword [esp + 0xb28], 0xffffffff
call fcn.0076087b
mov eax, 1
mov ecx, dword [esp + 0xb20]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [esp + 0xb4], method.CCommandLineInfo.virtual_0
test esi, esi
mov byte [esp + 0xb28], 9
je 0x57091b
push esi
call fcn.007604d0
add esp, 4
lea ecx, [esp + 0xb0]
mov byte [esp + 0xb28], 3
call fcn.0076087b
lea ecx, [esp + 0xa4]
mov byte [esp + 0xb28], 2
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0xdc], esi
mov eax, dword [esp + 0xe0]
mov byte [esp + 0xb28], 0xa
test eax, eax
je 0x57096b
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xcc]
mov byte [esp + 0xb28], 0xb
test eax, eax
je 0x57098e
push eax
call fcn.007604d0
add esp, 4
lea ecx, [esp + 0x38]
mov dword [esp + 0xb28], 0xffffffff
call fcn.0076087b
mov ecx, dword [esp + 0xb20]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4