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

Disassembly:
sub esp, 0x800
mov edx, dword [0x4c7384]
push ebx
xor ebx, ebx
push ebp
xor eax, eax
push esi
push edi
mov dword [esp + 0x30], eax
xor ecx, ecx
mov dword [esp + 0x34], ecx
xor ebp, ebp
cmp edx, ebx
mov dword [esp + 0x2c], ebp
jle 0x41160c
add eax, ecx
mov dword [esp + 0x28], ebx
lea ecx, [eax + eax*2]
lea eax, [eax + eax*8]
lea ecx, [ecx + ecx*8]
lea eax, [eax + eax*8]
shl ecx, 1
mov dword [esp + 0x24], ecx
lea edi, [eax*8 + 0x646920]
call fcn.00407ec0
mov dword [esp + 0x10], ebx
xor esi, esi
mov dword [esp + 0x1c], edi
mov edx, dword [edi]
xor ecx, ecx
test edx, edx
mov dword [esp + 0x20], edx
jle 0x41128c
mov eax, dword [esp + 0x10]
lea edi, [eax*4 + 0x4b3360]
mov eax, dword [esp + 0x1c]
lea ebx, [eax + 4]
mov eax, dword [ebx]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
cmp eax, 0xffffffff
je 0x411273
add eax, esi
mov ebp, 6
cdq
idiv ebp
mov ebp, dword [esp + 0x2c]
mov dword [edx*4 + 0x4b2bc0], 1
mov edx, dword [esp + 0x20]
jmp 0x411284
lea eax, [ecx + esi*2]
mov dword [edi], eax
mov eax, dword [esp + 0x10]
inc eax
add edi, 4
mov dword [esp + 0x10], eax
inc ecx
add ebx, 4
cmp ecx, edx
jl 0x411248
mov edi, dword [esp + 0x1c]
inc esi
add edi, 0xc
cmp esi, 6
mov dword [esp + 0x1c], edi
jl 0x41122a
mov esi, dword [esp + 0x10]
push esi
push 0x4b3360
call fcn.004071a0
add esp, 8
cmp eax, esi
jge 0x4112d1
push 0x59e2
call fcn.0042f600
push str._nPlacement_and_routing_completed_with_errors_n
call fcn.0042f8c0
push 2
call fcn.00407190
add esp, 0xc
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x24]
xor edi, edi
mov dword [esp + 0x14], edi
lea eax, [ecx + esi]
lea edx, [eax + eax*2]
cmp dword [edx*4 + 0x646920], ebx
jle 0x4115c8
lea eax, [eax + eax*2]
shl eax, 2
mov dword [esp + 0x10], eax
lea ecx, [eax + 0x646924]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
cmp ecx, ebx
mov dword [esp + 0x2c], ecx
je 0x4115aa
mov ecx, dword [ecx]
cmp dword [ecx + 0x24], 0xffffffff
jne 0x41136b
mov eax, dword [esi*4 + 0x467de0]
cmp eax, 0xffffffff
je 0x41133f
lea edx, [edi + esi*2]
cmp dword [eax*4 + 0x4b3360], edx
jne 0x41133f
mov dword [ecx + 0x24], ebx
lea eax, [esi + 1]
mov ebx, 6
cdq
idiv ebx
mov edx, dword [edx*4 + 0x467de0]
cmp edx, 0xffffffff
je 0x41136b
lea eax, [edi + esi*2]
mov esi, dword [edx*4 + 0x4b3360]
cmp esi, eax
jne 0x41136b
mov dword [ecx + 0x24], 1
mov edx, dword [ecx + 0x2c]
cmp edx, 4
je 0x41137d
cmp edx, 5
je 0x41137d
cmp edx, 6
jne 0x411392
cmp dword [ecx + 0x20], 0xffffffff
jne 0x411392
mov edi, dword [ecx + 0x10]
mov eax, 0x13
sub eax, edi
shl eax, 2
jmp 0x411395
mov eax, dword [ecx + 0x20]
lea esi, [edx - 1]
cmp esi, 0x12
ja case.0x4113a9.7
xor edx, edx
mov dl, byte [esi + 0x411c18]
jmp dword [edx*4 + 0x411bfc]
mov edx, dword [ecx + 0xc]
mov ebx, 0x64
lea esi, [edx + edx*4]
shl esi, 4
add esi, eax
mov eax, dword [ecx + 0x24]
lea eax, [eax + esi*2]
mov esi, dword [eax*4 + 0x43b040]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*2]
lea eax, [edx + eax*2]
lea edi, [eax + eax*4]
mov eax, dword [ecx]
cdq
idiv ebx
lea eax, [edx + edi*4]
lea edx, [eax + eax*4]
lea eax, [ebp + edx*2]
mov eax, dword [eax*4 + 0x5cf620]
jmp 0x4114cb
mov edx, dword [ecx + 0xc]
mov ebx, 0x64
lea edi, [edx + edx*4]
shl edi, 4
lea edx, [edi + eax]
mov eax, dword [ecx + 0x24]
lea edx, [eax + edx*2]
mov eax, dword [ecx]
mov esi, dword [edx*4 + 0x43b040]
cdq
idiv ebx
add edx, edi
lea eax, [edx + edx*4]
lea edx, [ebp + eax*2]
jmp 0x4114c4
mov edx, dword [ecx + 0x10]
mov edx, dword [edx*4 + 0x43bff0]
jmp 0x411434
mov edx, dword [ecx + 0xc]
lea edx, [edx + edx*4]
shl edx, 4
add edx, eax
mov eax, dword [ecx + 0x24]
lea edx, [eax + edx*2]
mov eax, dword [ecx]
mov esi, dword [edx*4 + 0x43b040]
mov eax, dword [eax*4 + 0x46e860]
jmp 0x4114cb
mov edx, dword [ecx + 0xc]
mov ebx, 0x64
lea esi, [edx + edx*4]
shl esi, 4
add esi, eax
mov eax, dword [ecx + 0x24]
lea eax, [eax + esi*2]
mov esi, dword [eax*4 + 0x43b040]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*2]
lea eax, [edx + eax*2]
lea edi, [eax + eax*4]
mov eax, dword [ecx]
cdq
idiv ebx
lea eax, [edx + edi*4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x18]
lea edx, [eax + edx*2]
mov eax, dword [edx*4 + 0x5cf620]
jmp 0x4114cb
mov edx, dword [ecx + 0xc]
mov ebx, 0x64
lea edi, [edx + edx*4]
mov edx, dword [ecx + 0x24]
shl edi, 4
add eax, edi
lea eax, [edx + eax*2]
mov esi, dword [eax*4 + 0x43b040]
mov eax, dword [ecx]
cdq
idiv ebx
mov eax, dword [ecx + 0x18]
add edx, edi
lea edx, [edx + edx*4]
lea edx, [eax + edx*2]
mov eax, dword [edx*4 + 0x4c2880]
mov edx, dword [esp + 0x28]
add esi, edx
mov edx, esi
shl edx, 4
add edx, esi
lea edx, [edx + edx*2]
lea edi, [esi + edx*2]
shl edi, 2
test eax, eax
mov dword [edi + 0x5d9ee0], 1
je case.0x4113a9.7
mov ebx, dword [eax]
cmp dword [ebx + 0x18], ebp
jne 0x41157e
mov edx, dword [ebx + 0x2c]
cmp edx, 5
je 0x41157e
cmp edx, 0xa
je 0x41157e
cmp edx, 0xd
je 0x41157e
cmp edx, 0xe
je 0x41157e
cmp edx, 0xf
je 0x41157e
cmp edx, 0x10
je 0x41157e
cmp ebx, ecx
je 0x41154f
cmp dword [ebx + 0x30], 9
je 0x41154f
mov edx, dword [ecx + 0xc]
mov dword [ebx + 0xc], edx
mov edx, dword [eax]
mov ebx, dword [ecx + 0x10]
mov dword [edx + 0x10], ebx
mov edx, dword [eax]
mov ebx, dword [ecx + 0x24]
mov dword [edx + 0x24], ebx
mov edx, dword [eax]
mov ebx, dword [ecx + 0x20]
mov dword [edx + 0x20], ebx
mov edx, dword [eax]
mov ebx, dword [ecx + 0x30]
mov dword [edx + 0x30], ebx
mov ebx, dword [eax]
cmp dword [ebx + 0x30], 9
je 0x41157e
mov edx, esi
shl edx, 4
add edx, esi
lea edx, [edx + edx*2]
lea edx, [esi + edx*2]
add edx, dword [edi + 0x5da074]
mov dword [edx*4 + 0x5d9ee4], ebx
mov edx, dword [edi + 0x5da074]
inc edx
mov dword [edi + 0x5da074], edx
mov eax, dword [eax + 4]
test eax, eax
jne 0x4114f3
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
xor ebx, ebx
mov ecx, dword [eax + 4]
cmp ecx, ebx
mov dword [esp + 0x2c], ecx
jne 0x41131c
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 0x646920]
inc edi
add edx, 4
cmp edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edx
jl 0x41130a
inc esi
cmp esi, 6
mov dword [esp + 0x18], esi
jl 0x4112d9
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov eax, dword [0x4c7384]
mov edi, dword [esp + 0x1c]
inc ebp
add edx, 6
add ecx, 0x78
cmp ebp, eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
jl 0x41121b
mov ecx, dword [esp + 0x34]
mov edx, eax
mov eax, dword [esp + 0x30]
inc ecx
cmp ecx, 4
mov dword [esp + 0x34], ecx
jl 0x4111ee
add eax, 4
cmp eax, 0x14
mov dword [esp + 0x30], eax
jl 0x4111e8
cmp edx, ebx
jle 0x41164a
lea ecx, [edx + edx*2]
lea edi, [esp + 0x90]
shl ecx, 5
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [esp + 0x54]
rep stosd dword es:[edi], eax
mov dword [esp + 0x20], 0x4736a0
test edx, edx
mov dword [esp + 0x14], 0
jle 0x411758
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], 0
lea ebp, [esp + 0x54]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x24]
mov ebx, dword [edx]
test ebx, ebx
je 0x411726
mov esi, dword [ebx]
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x411704
mov eax, dword [esi]
mov ecx, dword [eax*4 + 0x5999e0]
cmp ecx, 0xffffffff
je 0x41169e
push ecx
jmp 0x4116f3
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*8]
mov eax, dword [edx*4 + 0x48cde0]
test eax, eax
je 0x411711
mov ecx, dword [esi + 4]
lea eax, [ecx + ecx*2]
lea edi, [ecx + ecx*2 + 3]
shl eax, 2
shl edi, 2
cmp eax, edi
jge 0x411704
mov ecx, dword [esi + 8]
lea ecx, [ecx + ecx*2]
lea edx, [eax + ecx*8]
mov ecx, edx
shl ecx, 4
add ecx, edx
lea ecx, [ecx + ecx*2]
lea edx, [edx + ecx*2]
lea ecx, [edx*4 + 0x583e40]
cmp dword [ecx], 0
je 0x4116f2
inc eax
add ecx, 0x19c
cmp eax, edi
jl 0x4116e0
jmp 0x411704
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
call fcn.004017a0
add esp, 0x18
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x411684
jmp 0x411726
mov eax, dword [ebp]
mov ecx, dword [esp + 0x28]
lea edx, [eax + ecx]
inc eax
mov dword [ebp], eax
mov dword [esp + edx*4 + 0x90], esi
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov ecx, dword [0x4c7384]
jae 0x411783
add byte [eax - 0x7d], al
invalid
sbb byte [ebx - 0x3a7cfb3a], al
add al, 0x3b
ror dword [ecx - 0x76ebdbbc], 0x7c
and al, 0x28
mov dword [esp + 0x24], esi
jl 0x411676
mov edx, ecx
mov eax, dword [esp + 0x20]
add eax, 0x28
cmp eax, 0x479460
mov dword [esp + 0x20], eax
jl 0x411652
test edx, edx
mov dword [esp + 0x18], 0
jle 0x411891
xor eax, eax
mov ecx, 0x583fd4