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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x154
push ebx
push esi
push edi
mov dword [esp + 0x10], ecx
call fcn.0040fa10
lea eax, [esp + 0x108]
mov edx, 2
or esi, 0xffffffff
jmp 0x411290
mov ecx, 5
mov dword [eax + 4], esi
mov dword [eax], esi
add eax, 8
sub ecx, 1
jne 0x411295
sub edx, 1
jne 0x411290
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], edi
mov dword [esp + 0xfc], edi
mov dword [esp + 0x100], edi
mov dword [esp + 0x104], edi
mov dword [esp + 0x14], edi
mov byte [esp + 0x33], 1
mov byte [esp + 0x32], 0
cmp ebx, 0x11
ja case.default.0x411c6b
movzx eax, byte [ebx + 0x412774]
jmp dword [eax*4 + 0x412750]
push 0x34
lea ecx, [esp + 0xa4]
push edi
push ecx
mov byte [esp + 0x3f], 0
mov byte [esp + 0x1b], 0
call fcn.0042cf10
add esp, 0xc
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x670]
or ebx, 0xffffffff
or esi, ebx
test eax, eax
jle 0x4113e0
cmp eax, 0x34
jg 0x4113e0
mov esi, eax
call fcn.0042ede0
cdq
idiv esi
mov eax, dword [edi + 0x66c]
lea ecx, [esi - 1]
mov dword [edi + 0x670], ecx
mov edi, dword [eax + ecx*8]
mov ebx, dword [eax + edx*8]
mov esi, dword [eax + edx*8 + 4]
mov dword [eax + edx*8], edi
mov ecx, dword [eax + ecx*8 + 4]
mov dword [eax + edx*8 + 4], ecx
cmp dword [esp + ebx*4 + 0x78], 3
lea edi, [esp + ebx*4 + 0x78]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x34], edi
jge 0x4114fb
mov edx, dword [esp + esi*4 + 0xd4]
cmp edx, 2
lea eax, [esp + esi*4 + 0xd4]
mov dword [esp + 0x38], eax
jge 0x4114fb
cmp edx, 1
jne 0x411431
cmp dword [esp + 0x18], 0
je 0x4114fb
cmp edx, edx
jne 0x411431
cmp esi, 8
jg 0x4114fb
cmp edx, edx
jl 0x41143e
cmp byte [esp + 0xf], 0
jne 0x4114fb
cmp edx, 1
jne 0x411476
mov ecx, dword [esp + 0x14]
cmp ecx, 5
jl 0x411476
xor eax, eax
test ecx, ecx
jl 0x411476
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
lea ecx, [esp + ecx*8 + 0x10c]
cmp dword [ecx], esi
je 0x4114fb
inc eax
add ecx, 8
cmp eax, dword [esp + 0x14]
jle 0x411460
mov edi, dword [esp + 0x34]
mov ecx, 1
xor eax, eax
lea ecx, [ecx]
test eax, eax
jle 0x4114a5
cmp dword [esp + eax*4 + 0x9c], 1
jl 0x41157a
cmp dword [esp + eax*4 + 0xa0], 1
jge 0x4114a4
cmp esi, eax
jne 0x41157a
inc ecx
cmp ecx, 3
jge 0x4114fb
inc eax
cmp eax, 0xd
jl 0x411480
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
inc dword [esp + esi*4 + 0xa0]
inc dword [esp + 0x14]
lea eax, [eax + ecx*4]
add eax, ecx
mov ecx, dword [esp + 0x38]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + eax + 0x10c], esi
mov dword [esp + eax + 0x108], ebx
lea eax, [esp + esi*4 + 0xa0]
lea eax, [edx + 1]
mov dword [ecx], eax
mov ecx, dword [edi]
inc ecx
cmp eax, 2
mov dword [edi], ecx
jl 0x4114fb
mov byte [esp + 0xf], 1
mov eax, 5
cmp dword [esp + 0x14], eax
jge 0x41158d
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x670], eax
jg 0x41139a
xor esi, esi
push 0x34
lea eax, [esp + 0xd8]
push esi
push eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
call fcn.0042cf10
xor eax, eax
push 0x34
lea ecx, [esp + 0xb0]
push esi
push ecx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
call fcn.0042cf10
mov ecx, dword [esp + 0x28]
add esp, 0x18
call fcn.0040fa10
jmp 0x41139a
cmp ecx, 5
jge 0x4114a5
mov ecx, 1
jmp 0x4114aa
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 2
mov dword [esp + 0x18], eax
jl 0x411392
xor edi, edi
jmp case.default.0x411c6b
call fcn.0042ede0
and eax, 0x80000003
jns 0x4115b7
dec eax
or eax, 0xfffffffc
inc eax
add eax, 9
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], 2
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
mov ebx, dword [esp + 0x10]
mov esi, edx
mov dword [esp + 0x1c], esi
call fcn.0042ede0
cdq
mov ecx, 7
idiv ecx
cmp byte [ebx + 0x9a0], 0
mov dword [esp + 0x20], edx
je 0x41160c
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
mov dword [esp + 0x20], edx
cmp esi, edx
je 0x4115e1
cmp edx, 5
jl case.default.0x411c6b
mov byte [esp + 0x32], 1
jmp case.default.0x411c6b
mov dword [esp + 0x14], 4
call fcn.0042ede0
cdq
mov ecx, 0xd
idiv ecx
mov ebx, dword [esp + 0x10]
cmp byte [ebx + 0x9a0], 0
mov edi, edx
je 0x411668
call fcn.00428190
cmp eax, 0x64
jge 0x411668
call fcn.0042ede0
mov edi, eax
and edi, 0x80000003
jns 0x411665
dec edi
or edi, 0xfffffffc
inc edi
add edi, 9
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], edi
call fcn.0042ede0
cdq
mov ecx, 0xd
idiv ecx
cmp byte [ebx + 0x9a0], 0
mov esi, edx
je 0x4116a9
call fcn.00428190
cmp eax, 0x64
jge 0x4116a9
call fcn.0042ede0
mov esi, eax
and esi, 0x80000003
jns 0x4116a6
dec esi
or esi, 0xfffffffc
inc esi
add esi, 9
cmp esi, edi
je 0x411670
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], esi
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
xor bl, bl
mov dword [esp + 0x1c], edx
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
mov edi, dword [esp + 0x10]
cmp edx, 0x3c
jge 0x4116e8
cmp byte [edi + 0x9a0], bl
jne 0x4116e8
mov bl, 1
mov esi, 1
lea ecx, [ecx]
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
mov dword [esp + esi*4 + 0x1c], edx
test bl, bl
je 0x411727
cmp esi, 1
jle 0x411727
cmp byte [edi + 0x9a0], 0
jne 0x411727
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
add edx, 5
mov dword [esp + esi*4 + 0x1c], edx
xor eax, eax
test esi, esi
jle 0x41173c
mov ecx, dword [esp + esi*4 + 0x1c]
cmp ecx, dword [esp + eax*4 + 0x1c]
je 0x4116f0
inc eax
cmp eax, esi
jl 0x411731
inc esi
cmp esi, 4
jl 0x4116f0
xor edi, edi
jmp case.default.0x411c6b
mov dword [esp + 0x14], 3
call fcn.0042ede0
cdq
mov ecx, 9
idiv ecx
cmp ebx, 4
je 0x41177d
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x9a0], 0
je 0x41185e
cmp ebx, 5
je 0x411867
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
add edx, 9
cmp edx, 9
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x50], edx
mov byte [esp + 0xf], 0
jl 0x4117bf
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x28
jge 0x4117bf
mov byte [esp + 0x32], 1
mov byte [esp + 0xf], 1
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
xor bl, bl
mov dword [esp + 0x1c], edx
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x3c
jge 0x4117f2
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x9a0], bl
jne 0x4117f2
mov bl, 1
mov esi, 1
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
mov dword [esp + esi*4 + 0x1c], edx
test bl, bl
je 0x411811
cmp esi, 1
jg 0x41182a
cmp byte [esp + 0xf], 0
je 0x41183e
cmp esi, 1
jl 0x41183e
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x9a0], 0
jne 0x41183e
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
add edx, 5
mov dword [esp + esi*4 + 0x1c], edx
xor eax, eax
cmp esi, edi
jle 0x411853
mov ecx, dword [esp + esi*4 + 0x1c]
cmp ecx, dword [esp + eax*4 + 0x1c]
je 0x4117f7
inc eax
cmp eax, esi
jl 0x411848
inc esi
cmp esi, 3
jl 0x4117f7
jmp case.default.0x411c6b
cmp ebx, 5
jne 0x41178d
mov edx, 0xc
jmp 0x41178d
mov dword [esp + 0x14], 5
call fcn.0042ede0
and eax, 0x80000007
jns 0x41188a
dec eax
or eax, 0xfffffff8
inc eax
cmp ebx, 7
jne 0x411893
xor eax, eax
jmp 0x41189a
cmp ebx, 8
jne 0x41189a
mov eax, ebx
lea edx, [eax + 1]
mov dword [esp + 0x48], edx
lea ecx, [eax + 2]
lea edx, [eax + 3]
mov dword [esp + 0x40], eax
add eax, 4
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], eax
cmp ebx, 7
jne 0x4118c7
mov dword [esp + 0x60], 0xc
mov byte [esp + 0xf], 0
or ebx, 0xffffffff
call fcn.0042ede0
cdq
mov ecx, 6
idiv ecx
mov dword [esp + 0x1c], edx
call fcn.0042ede0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x46
jge 0x4118fa
lea ebx, [ecx - 0x60]
mov byte [esp + 0xf], 1
mov esi, 1
nop
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
mov dword [esp + esi*4 + 0x1c], edx
cmp dword [esp + 0x1c], ecx
jge 0x411926
cmp byte [esp + 0xf], 0
je 0x411926
cmp esi, ebx
jne 0x411926
mov dword [esp + esi*4 + 0x1c], ecx
xor eax, eax
cmp esi, edi
jle 0x41193b
mov ecx, dword [esp + esi*4 + 0x1c]
cmp ecx, dword [esp + eax*4 + 0x1c]
je 0x411900
inc eax
cmp eax, esi
jl 0x411930
inc esi
cmp esi, 5
jl 0x411900
jmp case.default.0x411c6b
mov dword [esp + 0x14], 5
call fcn.0042ede0
and eax, 0x80000003
jns 0x41195f
dec eax
or eax, 0xfffffffc
inc eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], eax
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
mov dword [esp + 0x40], edx
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
add edx, ecx
mov dword [esp + 0x48], edx
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
add edx, 6
mov dword [esp + 0x50], edx
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
add edx, 9
mov dword [esp + 0x58], edx
call fcn.0042ede0
cdq
mov ecx, 0xd
idiv ecx
xor eax, eax
cmp edx, dword [esp + eax*8 + 0x40]
je 0x4119c3
inc eax
cmp eax, 5
jl 0x4119d2
mov dword [esp + 0x60], edx
xor bl, bl
call fcn.0042ede0
cdq
mov ecx, 6
idiv ecx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x9a0], bl
jne 0x411a03
mov bl, 1
mov esi, 1
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
mov dword [esp + esi*4 + 0x1c], edx
cmp dword [esp + 0x1c], ecx
jge 0x411a2c
test bl, bl
je 0x411a2c
cmp esi, 4
jne 0x411a2c
mov dword [esp + 0x2c], ecx
xor eax, eax
cmp esi, edi
jle 0x411a41
mov ecx, dword [esp + esi*4 + 0x1c]
cmp ecx, dword [esp + eax*4 + 0x1c]
je 0x411a08
inc eax
cmp eax, esi
jl 0x411a36
inc esi
cmp esi, 5
jl 0x411a08
jmp case.default.0x411c6b
mov ebx, 5
mov dword [esp + 0x14], ebx
call fcn.0042ede0
cdq
mov ecx, 0xd
idiv ecx
mov esi, edx
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x9a0], 0
je 0x411a88
call fcn.0042ede0
mov esi, eax
and esi, 0x80000003
jns 0x411a85
dec esi
or esi, 0xfffffffc
inc esi
add esi, 9
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], esi
call fcn.0042ede0
cdq
mov ecx, 0xd
idiv ecx
cmp edx, esi
je 0x411a94
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], edx
call fcn.0042ede0
cdq
mov ecx, ebx
idiv ecx
mov dword [esp + 0x1c], edx
call fcn.0042ede0
and eax, 0x80000003
jns 0x411acc
dec eax
or eax, 0xfffffffc
inc eax
mov dword [esp + 0x64], eax
cmp eax, 3
jne 0x411ad9
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0x10]
xor bl, bl
cmp byte [edx + 0x9a0], bl
jne 0x411ae9
mov bl, 1
mov esi, 1
lea edi, [esi + 4]
cmp dword [esp + 0x64], 3
ja case.default.0x411b00
mov eax, dword [esp + 0x64]
jmp dword [eax*4 + 0x412788]
call fcn.0042ede0
cdq
mov ecx, edi
idiv ecx
mov dword [esp + esi*4 + 0x1c], edx
test bl, bl
je case.default.0x411b00
cmp esi, 1
jle case.default.0x411b00
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x9a0], 0
jne case.default.0x411b00
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
add edx, edi
mov dword [esp + esi*4 + 0x1c], edx
jmp case.default.0x411b00
call fcn.0042ede0
cdq
mov ecx, edi
idiv ecx
mov dword [esp + esi*4 + 0x1c], edx
test bl, bl
je case.default.0x411b00
cmp esi, 2
jne case.default.0x411b00
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x9a0], 0
jne case.default.0x411b00
mov dword [esp + 0x24], edi
jmp case.default.0x411b00
call fcn.0042ede0
cdq
mov ecx, edi
idiv ecx
mov dword [esp + esi*4 + 0x1c], edx
test bl, bl
je case.default.0x411b00
cmp esi, 2
jle case.default.0x411b00
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x9a0], 0
jne case.default.0x411b00
call fcn.0042ede0
and eax, 0x80000001
jns 0x411bb6
dec eax
or eax, 0xfffffffe
inc eax
add eax, edi
jmp 0x411be1
call fcn.0042ede0
cdq
mov ecx, edi
idiv ecx
mov dword [esp + esi*4 + 0x1c], edx
test bl, bl
je case.default.0x411b00
cmp esi, 2
jg case.default.0x411b00
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x9a0], 0
jne case.default.0x411b00
lea eax, [esi + 5]
mov dword [esp + esi*4 + 0x1c], eax
xor eax, eax
test esi, esi
jle 0x411bff
mov ecx, dword [esp + esi*4 + 0x1c]
nop
cmp ecx, dword [esp + eax*4 + 0x1c]
je 0x411af1
inc eax
cmp eax, esi
jl 0x411bf0
inc esi
cmp esi, edi
jl 0x411af1
xor edi, edi
jmp case.default.0x411c6b
mov dword [esp + 0x14], 4
call fcn.0042ede0
cdq
mov ecx, 9
idiv ecx
cmp ebx, 0xc
jne 0x411c3b
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
add edx, 9
jmp 0x411c45
cmp ebx, 0xd
jne 0x411c45
mov edx, 0xc
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], edx
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
ja case.default.0x411c6b
jmp dword [edx*4 + 0x412798]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 2
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], ecx
jmp case.default.0x411c6b
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 6
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], 2
jmp case.default.0x411c6b
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 6
mov dword [esp + 0x28], 2
jmp case.default.0x411c6b
mov dword [esp + 0x1c], 2
mov dword [esp + 0x20], 6
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edi
jmp case.default.0x411c6b
mov dword [esp + 0x1c], 2
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], 7
jmp case.default.0x411c6b
call fcn.0042ede0
mov esi, eax
and esi, 0x80000003
jns 0x411d23
dec esi
or esi, 0xfffffffc
inc esi
mov dword [esp + 0x68], esi
cmp ebx, 0x11
jne 0x411d37
mov esi, 3
mov dword [esp + 0x68], esi
jmp 0x411d5d
cmp ebx, 0x10
jne 0x411d5d
lea esp, [esp]
call fcn.0042ede0
mov esi, eax
and esi, 0x80000003
jns 0x411d54
dec esi
or esi, 0xfffffffc
inc esi
mov dword [esp + 0x68], esi
cmp esi, 3
je 0x411d40
mov dword [esp + 0x14], 5
call fcn.0042ede0
cmp byte [ebp + 0xc], 0
cdq
jne 0x411ddf
mov ecx, 7
idiv ecx
inc edx
cmp ebx, 0xf
jne 0x411d82
xor edx, edx
jmp 0x411d91
cmp ebx, 0x10
je 0x411d8c
cmp ebx, 0x11
jne 0x411d91
mov edx, 8
lea eax, [edx + 1]
mov dword [esp + 0x48], eax
lea ecx, [edx + 2]
lea eax, [edx + 3]
mov dword [esp + 0x40], edx
add edx, 4
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], esi
cmp ebx, 0xf
jne case.default.0x411e18
mov dword [esp + 0x60], 0xc
mov dword [esp + 0x5c], esi
jmp case.default.0x411e18
mov ecx, 6
idiv ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x54], esi
lea eax, [edx + 1]
mov dword [esp + 0x48], eax
lea ecx, [edx + 2]
lea eax, [edx + 3]
mov dword [esp + 0x40], edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
cmp edx, 5
ja case.default.0x411e18
jmp dword [edx*4 + 0x4127ac]
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
add edx, 6
mov dword [esp + 0x60], edx
jmp case.default.0x411e18
call fcn.0042ede0
cdq
mov ecx, 5
idiv ecx
add edx, 7
mov dword [esp + 0x60], edx
jmp case.default.0x411e18
call fcn.0042ede0
and eax, 0x80000003
jns 0x411e62
dec eax
or eax, 0xfffffffc
inc eax
jne 0x411e6d
mov dword [esp + 0x60], edi
jmp case.default.0x411e18
call fcn.0042ede0
and eax, 0x80000003
jns 0x411e7e
dec eax
or eax, 0xfffffffc
inc eax
add eax, 8
jmp 0x411f30
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x411eb0
call fcn.0042ede0
and eax, 0x80000001
jns 0x411f30
dec eax
or eax, 0xfffffffe
jmp 0x411f2f
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
add edx, 9
mov dword [esp + 0x60], edx
jmp case.default.0x411e18
call fcn.0042ede0
and eax, 0x80000001
jns 0x411ed7
dec eax
or eax, 0xfffffffe
inc eax
jne 0x411eec
call fcn.0042ede0
cdq
mov ecx, 3
idiv ecx
mov dword [esp + 0x60], edx
jmp case.default.0x411e18
call fcn.0042ede0
and eax, 0x80000001
jns 0x411efd
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xa
jmp 0x411f30
call fcn.0042ede0
and eax, 0x80000003
jns 0x411f13
dec eax
or eax, 0xfffffffc
inc eax
jne 0x411f1f
mov dword [esp + 0x60], 0xb
jmp case.default.0x411e18
call fcn.0042ede0
and eax, 0x80000003
jns 0x411f30
dec eax
or eax, 0xfffffffc
inc eax
mov dword [esp + 0x60], eax
call fcn.0042ede0
cdq
mov ecx, 5
mov esi, ecx
idiv esi
mov eax, 4
cmp edx, eax
ja case.default.0x411c6b
jmp dword [edx*4 + 0x4127c4]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 2
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], ecx
cmp byte [ebp + 0xc], 0
je case.default.0x411c6b
mov edx, dword [esp + 0x10]
mov dword [edx + 0x944], eax
jmp case.default.0x411c6b
cmp byte [ebp + 0xc], 0
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], eax
je case.default.0x411c6b
mov eax, dword [esp + 0x10]
mov dword [eax + 0x944], edi
jmp case.default.0x411c6b
cmp byte [ebp + 0xc], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], eax
je case.default.0x411c6b
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x944], 1
jmp case.default.0x411c6b
mov dword [esp + 0x1c], 2
mov dword [esp + 0x20], 3
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], 1
jmp 0x411f77
cmp byte [ebp + 0xc], 0
mov dword [esp + 0x1c], 2
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], 1
je case.default.0x411c6b
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x944], eax
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x65c], 0
je 0x412081
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], 3
mov dword [esp + 0x2c], 4
cmp byte [esp + 0x33], 0
je 0x4125de
cmp byte [ebp + 0xc], 0
jne 0x4125e4
xor eax, eax
push 0x34
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xa4]
push edi
push eax
call fcn.0042cf10
or eax, 0xffffffff
add esp, 0xc
cmp dword [ebp + 8], 0xe
mov dword [esp + 0x6c], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x38], eax
jl 0x4120fa
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x38], edx
cmp dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
jle 0x4121cf
lea ebx, [esp + 0x3c]
lea esp, [esp]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x78]
push edx
call fcn.004110a0
mov esi, dword [eax]
cmp dword [esp + esi*4 + 0x78], 2
mov edi, dword [eax + 4]
jle 0x41215f
mov eax, dword [ebp + 8]
cmp eax, 9
je 0x41215f
cmp eax, 0xe
jge 0x41215f
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x78]
push edx
call fcn.004110a0
mov esi, dword [eax]
cmp dword [esp + esi*4 + 0x78], 2
mov edi, dword [eax + 4]
jg 0x412131
mov eax, dword [esp + 0x6c]
cmp eax, 0xffffffff
jne 0x41216e
mov dword [esp + 0x6c], edi
jmp 0x412176
cmp eax, edi
je 0x412176
mov dword [esp + 0x64], edi
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x1c]
cdq
mov ecx, 5
idiv ecx
lea ecx, [edx + eax*4]
add ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [esp + ecx + 0x10c], edi
mov dword [esp + ecx + 0x108], esi
test eax, eax
jne 0x4121b9
inc dword [esp + esi*4 + 0x78]
inc dword [esp + edi*4 + 0xa0]
lea esi, [esp + esi*4 + 0x78]
lea edi, [esp + edi*4 + 0xa0]
mov eax, dword [esp + 0x18]
inc eax
add ebx, 8
cmp eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
jl 0x412110
xor esi, esi
mov dword [esp + 0x18], esi
or eax, 0xffffffff
xor edx, edx
lea ecx, [esi + esi*4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x94]
add ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x8c], ecx
cmp dword [esp + ecx + 0x10c], eax
je 0x412214
cmp dword [esp + ecx + 0x108], eax
jne 0x4125c0
cmp dword [ebp + 8], 0xe
mov byte [esp + 0xf], 1
jge 0x412244
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
push edx
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0x164]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0040f910
mov edx, dword [eax]
mov dword [esp + 0x70], edx
jmp 0x41226a
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push edx
lea eax, [esp + 0xa4]
push eax
call fcn.0040f910
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x18], 0
mov ebx, dword [eax + 4]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x34], 0
jl 0x41254e
mov esi, dword [esp + 0x90]
mov edx, dword [esp + 0x38]
lea edi, [esp + 0x10c]
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
test eax, eax
je 0x4122b1
cmp eax, 1
jne 0x412327
cmp dword [esp + 0x14], 2
jge 0x412327
cmp ecx, 0xf
je 0x41230a
cmp ecx, 0xe
jl 0x412327
cmp ebx, esi
jl 0x4122c7
cmp ebx, edx
jle 0x412555
cmp byte [esp + 0xf], 0
je 0x412555
test esi, esi
jle 0x4122e9
lea eax, [esi - 1]
cmp eax, ebx
je 0x4122e4
lea ecx, [esi - 2]
cmp ecx, ebx
jne 0x4122e9
mov byte [esp + 0xf], 0
test edx, edx
jle 0x412327
cmp edx, 0xc
je 0x412327
lea eax, [edx + 1]
cmp eax, ebx
je 0x412555
lea ecx, [edx + 2]
cmp ecx, ebx
je 0x412555
jmp 0x412327
cmp byte [esp + 0xf], 0
je 0x412555
cmp ebx, 0xc
je 0x412555
cmp ebx, 5
jle 0x412555
cmp byte [esp + 0xf], 0
je 0x412555
xor eax, eax
mov ecx, edi
cmp dword [ecx], ebx
je 0x412555
inc eax
add ecx, 8
cmp eax, 5
jl 0x412336
cmp byte [esp + 0xf], 0
je 0x412555
mov eax, dword [esp + 0x34]
inc eax
add edi, 0x28
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
jle 0x412296
cmp dword [esp + 0x18], 0
jne 0x41254e
cmp byte [esp + 0x32], 0
je 0x412385
cmp ebx, dword [esp + 0x6c]
jle 0x412385
mov byte [esp + 0xf], 0
mov edx, dword [esp + 0x70]
cmp dword [esp + edx*4 + 0x78], 2
mov eax, dword [ebp + 8]
jl 0x4123a2
cmp eax, 9
je 0x4123a2
cmp eax, 0xe
jge 0x4123a2
mov byte [esp + 0xf], 0
cmp eax, 6
jl 0x41241e
cmp eax, 9
jl 0x4123b1
cmp eax, 0xe
jl 0x41241e
cmp eax, 8
jg 0x412407
mov edx, dword [esp + 0x60]
inc edx
cmp eax, 7
jne 0x4123c5
mov edx, dword [esp + 0x58]
inc edx
mov ecx, dword [esp + 0x40]
lea eax, [ecx - 1]
add ecx, 0xfffffffe
test eax, eax
jge 0x4123d8
mov eax, 0xc
test ecx, ecx
jge 0x4123e1
mov ecx, 0xc
cmp ebx, edx
je 0x412555
inc edx
cmp ebx, edx
je 0x412555
cmp ebx, eax
je 0x412555
cmp ebx, ecx
jne 0x41254e
jmp 0x412555
cmp eax, 0xe
jne 0x41254e
cmp ebx, 0xc
jne 0x41254e
jmp 0x412555
mov edx, 1
xor eax, eax
test eax, eax
jle 0x412465
mov ecx, dword [esp + eax*4 + 0x9c]
mov esi, 1
cmp ecx, esi
jl 0x412446
cmp dword [esp + eax*4 + 0xa0], esi
jge 0x412463
cmp ebx, eax
je 0x412463
cmp dword [esp + eax*4 + 0xa0], esi
jl 0x41245a
cmp ecx, esi
jge 0x412463
lea ecx, [eax - 1]
cmp ebx, ecx
je 0x412463
cmp edx, 5
jge 0x412465
mov edx, esi
jmp 0x41246e
add edx, esi
cmp edx, 3
jge 0x412555
inc eax
cmp eax, 0xd
jl 0x412425
cmp byte [esp + 0xf], 0
je 0x412555
mov eax, 0xc
lea edx, [esp + 0xd0]
jmp 0x412490
inc dword [esp + ebx*4 + 0xa0]
mov edi, dword [esp + ebx*4 + 0xa0]
lea esi, [eax - 0xd]
xor ecx, ecx
test esi, esi
jl 0x4124ac
cmp dword [edx - 0x34], ecx
jmp 0x4124b8
test eax, eax
jl 0x4124bf
cmp eax, 0xd
jge 0x4124bf
cmp dword [edx], 0
jle 0x4124bf
mov ecx, 1
lea esi, [eax - 0xb]
lea ebx, [esi - 1]
test ebx, ebx
jl 0x4124cf
cmp dword [edx - 0x30], 0
jmp 0x4124db
test eax, eax
jl 0x4124de
cmp eax, 0xd
jge 0x4124de
cmp dword [edx], 0
jle 0x4124de
inc ecx
test esi, esi
jl 0x4124e8
cmp dword [edx - 0x2c], 0
jmp 0x4124f4
test eax, eax
jl 0x4124f7
cmp eax, 0xd
jge 0x4124f7
cmp dword [edx], 0
jle 0x4124f7
inc ecx
lea ebx, [esi + 1]
test ebx, ebx
jl 0x412504
cmp dword [edx - 0x28], 0
jmp 0x412510
test eax, eax
jl 0x412513
cmp eax, 0xd
jge 0x412513
cmp dword [edx], 0
jle 0x412513
inc ecx
add esi, 2
js 0x41251e
cmp dword [edx - 0x24], 0
jmp 0x41252a
test eax, eax
jl 0x41252d
cmp eax, 0xd
jge 0x41252d
cmp dword [edx], 0
jle 0x41252d
inc ecx
mov ebx, dword [esp + 0x74]
dec edi
cmp ecx, 4
mov dword [esp + ebx*4 + 0xa0], edi
jge 0x412555
inc eax
lea ecx, [eax - 0xd]
add edx, 4
cmp ecx, 9
jl 0x412490
cmp byte [esp + 0xf], 0
jne 0x412582
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x670]
cmp eax, 0xa
jl 0x412577
cmp dword [ebp + 8], 0xe
jl 0x412214
cmp eax, 0xf
jg 0x412214
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esp + 0x18], 0
jne 0x41259c
mov eax, dword [esp + 0x70]
inc dword [esp + ebx*4 + 0xa0]
inc dword [esp + eax*4 + 0x78]
lea eax, [esp + eax*4 + 0x78]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov dword [esp + eax + 0x108], ecx
mov dword [esp + eax + 0x10c], ebx
or eax, 0xffffffff
inc edx
cmp edx, 5
mov dword [esp + 0x14], edx
jl 0x4121e8
inc esi
cmp esi, 2
mov dword [esp + 0x18], esi
jl 0x4121d8
jmp 0x41263c
cmp byte [ebp + 0xc], 0
je 0x41263c
xor esi, esi
cmp dword [esp + 0x14], edi
jle 0x41263c
lea esp, [esp]
mov edx, dword [esp + esi*8 + 0x40]
mov eax, dword [esp + esi*8 + 0x3c]
push edx
push eax
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.004110a0
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + esi*4 + 0x1c]
cdq
mov ecx, 5
idiv ecx
inc esi
lea ecx, [edx + eax*4]
add ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
cmp esi, dword [esp + 0x14]
mov dword [esp + ecx + 0x10c], ebx
mov dword [esp + ecx + 0x108], edi
jl 0x4125f0
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x10]
add esi, 0x7a0
lea edi, [esp + 0x108]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x38], 2
mov dword [esp + 0x34], 5
cmp dword [edi + 4], 0xffffffff
je 0x41267a
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esi], edx
mov dword [esi + 4], eax
jmp 0x41269f
mov ecx, dword [esp + 0x108]
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0xa4]
push edx
mov ecx, ebx
call fcn.0040f910
mov ecx, dword [eax]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov eax, 1
add edi, 8
add esi, 8
sub dword [esp + 0x34], eax
jne 0x412668
sub dword [esp + 0x38], eax
jne 0x412660
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], ecx
cmp dword [ecx + 4], 0
jl 0x4126d4
cmp dword [ecx], 0
jge 0x41272d
cmp dword [ebp + 8], 0xe
jl 0x412577
mov eax, dword [ebx + 0x670]
or esi, 0xffffffff
or edi, esi
test eax, eax
jle 0x412728
cmp eax, 0x34
jg 0x412728
mov esi, eax
call fcn.0042ede0
cdq
idiv esi
mov eax, dword [ebx + 0x66c]
lea ecx, [esi - 1]
mov dword [ebx + 0x670], ecx
mov ebx, dword [eax + ecx*8]
mov esi, dword [eax + edx*8]
mov edi, dword [eax + edx*8 + 4]
mov dword [eax + edx*8], ebx
mov ecx, dword [eax + ecx*8 + 4]
mov ebx, dword [esp + 0x10]
mov dword [eax + edx*8 + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [ecx], esi
mov dword [ecx + 4], edi
mov eax, dword [esp + 0x34]
inc eax
add ecx, 8
cmp eax, 0xa
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
jl 0x4126c9
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc