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

Disassembly:
mov eax, dword [esp + 0x18]
sub esp, 0x3c
mov dword [0x15624cc], 0x40000000
push ebx
mov byte [eax], 0
mov dword [esp + 0x34], 0xa
lea ecx, [esp + 0x34]
push esi
push edi
push ebp
mov edi, dword [esp + 0x5c]
push ecx
push eax
push 0x1b1b250
push 0x15624d0
mov dword [edi], 1
mov dword [edi + 4], 1
call fcn.00402110
mov ecx, dword [0x1b1b250]
mov dword [esp + 0x10], ecx
test ecx, ecx
jle 0x401c3b
mov esi, 0x15624d0
mov ebp, dword [esp + 0x50]
cmp dword [esi + 0xc], 0x3fc00000
jge 0x401bd0
cmp dword [edi], 0x493e0
jle 0x401b9b
lea eax, [esp + 0x40]
push 0x1e
mov dword [esp + 0x44], 0x64
push 0x431104
push eax
call fcn.004062d2
mov ebx, dword [edi]
mov eax, ebx
inc ebx
shl eax, 4
lea edx, [eax + eax*2]
mov eax, dword [esi]
mov dword [edx + ebp - 0x30], eax
lea ecx, [edx + ebp]
mov edx, dword [esi + 4]
mov dword [ecx - 0x20], edx
mov eax, dword [esi + 8]
mov dword [ecx - 0x10], eax
fld dword [esi + 0x10]
call fcn.00423068
mov ecx, dword [esp + 0x58]
mov dword [edi], ebx
mov word [ecx + ebx*8 - 0x10], ax
jmp 0x401c27
cmp dword [edi + 4], 0x493e0
jle 0x401bf2
lea eax, [esp + 0x3c]
push 0x1e
mov dword [esp + 0x40], 0x64
push 0x431124
push eax
call fcn.004062d2
mov ebx, dword [edi + 4]
mov eax, ebx
inc ebx
shl eax, 4
lea edx, [eax + eax*2]
mov eax, dword [esi]
mov dword [edx + ebp - 0x2c], eax
lea ecx, [edx + ebp]
mov edx, dword [esi + 4]
mov dword [ecx - 0x1c], edx
mov eax, dword [esi + 8]
mov dword [ecx - 0xc], eax
fld dword [esi + 0x10]
call fcn.00423068
mov ecx, dword [esp + 0x58]
mov dword [edi + 4], ebx
mov word [ecx + ebx*8 - 0xe], ax
add esi, 0x14
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0
jne 0x401b71
jmp 0x401c3f
mov ebp, dword [esp + 0x50]
dec dword [edi]
dec dword [edi + 4]
lea eax, [esp + 0x40]
mov ecx, dword [esp + 0x64]
mov dword [edi + 8], 1
mov dword [edi + 0xc], 1
mov dword [esp + 0x40], 0xb
push eax
push ecx
push 0x1b1b250
push 0x15624d0
call fcn.00402110
mov ecx, dword [0x1b1b250]
mov dword [esp + 0x10], ecx
test ecx, ecx
jle 0x401d55
mov esi, 0x15624d0
cmp dword [esi + 0xc], 0x3fc00000
jge 0x401cec
cmp dword [edi + 8], 0x493e0
jle 0x401cb5
lea eax, [esp + 0x40]
push 0x1e
mov dword [esp + 0x44], 0x64
push 0x431144
push eax
call fcn.004062d2
mov ebx, dword [edi + 8]
mov eax, ebx
inc ebx
shl eax, 4
lea edx, [eax + eax*2]
mov eax, dword [esi]
mov dword [edx + ebp - 0x28], eax
lea ecx, [edx + ebp]
mov edx, dword [esi + 4]
mov dword [ecx - 0x18], edx
mov eax, dword [esi + 8]
mov dword [ecx - 8], eax
fld dword [esi + 0x10]
call fcn.00423068
mov ecx, dword [esp + 0x58]
mov dword [edi + 8], ebx
mov word [ecx + ebx*8 - 0xc], ax
jmp 0x401d43
cmp dword [edi + 0xc], 0x493e0
jle 0x401d0e
lea eax, [esp + 0x3c]
push 0x1e
mov dword [esp + 0x40], 0x64
push str.procedure_lecture_variable_seg
push eax
call fcn.004062d2
mov ebx, dword [edi + 0xc]
mov eax, ebx
inc ebx
shl eax, 4
lea edx, [eax + eax*2]
mov eax, dword [esi]
mov dword [edx + ebp - 0x24], eax
lea ecx, [edx + ebp]
mov edx, dword [esi + 4]
mov dword [ecx - 0x14], edx
mov eax, dword [esi + 8]
mov dword [ecx - 4], eax
fld dword [esi + 0x10]
call fcn.00423068
mov ecx, dword [esp + 0x58]
mov dword [edi + 0xc], ebx
mov word [ecx + ebx*8 - 0xa], ax
add esi, 0x14
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0
jne 0x401c8a
mov eax, dword [esp + 0x6c]
dec dword [edi + 0xc]
dec dword [edi + 8]
cmp dword [eax], 0
je 0x4020f7
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x40]
push eax
push 0xa
push ecx
call fcn.0040719c
lea ecx, [esp + 0x40]
push 0xa
push 1
push ecx
push 0x50
push 1
push 0x1b1b258
call fcn.00411a90
push 0x50
push 0x1b1b258
call fcn.00406a63
push 4
mov dword [0x1b1b2a8], eax
push 1
push str..res_TMP_dy
push eax
push 1
push 0x1b1b258
push 7
push 1
push str._TMP_dx
push 0x50
push 1
push 0x1b1b2b0
push 3
call fcn.00411b20
lea ecx, [esp + 0x74]
add esp, 0x34
lea edx, [esp + 0x3c]
push 0x1b1b300
mov dword [esp + 0x44], 2
mov dword [esp + 0x40], 0x15
push ecx
push 0x50
push 0x1b1b2b0
push edx
call fcn.00405dfe
push 0
push 0x15
call fcn.004108a0
mov dword [esp + 0x40], 0x40000000
lea ecx, [esp + 0x40]
add esp, 8
push 4
push ecx
call fcn.00410970
mov dword [esp + 0x3c], 0
lea ecx, [esp + 0x3c]
add esp, 8
push 4
push ecx
call fcn.00410970
add esp, 8
call fcn.00410a20
mov esi, dword [edi]
mov eax, dword [edi + 4]
cmp esi, eax
jl 0x401e43
mov esi, eax
test esi, esi
jle 0x401f22
mov ebx, ebp
push 0
dec esi
push 0x15
call fcn.004108a0
add esp, 8
push 4
push ebx
add ebx, 0x30
call fcn.00410970
add esp, 8
lea eax, [ebx - 0x20]
push 4
push eax
call fcn.00410970
add esp, 8
lea eax, [ebx - 0x10]
push 4
push eax
call fcn.00410970
add esp, 8
call fcn.00410a20
push 0
push 0x15
call fcn.004108a0
add esp, 8
lea eax, [ebx - 0x2c]
push 4
push eax
call fcn.00410970
add esp, 8
lea eax, [ebx - 0x1c]
push 4
push eax
call fcn.00410970
add esp, 8
lea eax, [ebx - 0xc]
push 4
push eax
call fcn.00410970
add esp, 8
call fcn.00410a20
push 0
push 0x15
call fcn.004108a0
mov dword [esp + 0x30], 0x47c34f80
lea eax, [esp + 0x30]
add esp, 8
push 4
push eax
call fcn.00410970
mov dword [esp + 0x2c], 0x47c34f80
lea eax, [esp + 0x2c]
add esp, 8
push 4
push eax
call fcn.00410970
mov dword [esp + 0x28], 0x47c34f80
lea eax, [esp + 0x28]
add esp, 8
push 4
push eax
call fcn.00410970
add esp, 8
call fcn.00410a20
test esi, esi
jne 0x401e4d
push 0
push 0
push 0
push 0x15
call fcn.0040fd30
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0x50]
add esp, 0x10
push eax
push 0xa
push ecx
call fcn.0040719c
lea ecx, [esp + 0x40]
push 0xa
push 1
push ecx
push 0x50
push 1
push 0x1b1b258
call fcn.00411a90
push 0x50
push 0x1b1b258
call fcn.00406a63
push 4
mov dword [0x1b1b2a8], eax
push 1
push str..resprocedure_section_variable_sec
push eax
push 1
push 0x1b1b258
push 7
push 1
push 0x431190
push 0x50
push 1
push 0x1b1b2b0
push 3
call fcn.00411b20
lea ecx, [esp + 0x74]
add esp, 0x34
lea edx, [esp + 0x3c]
push 0x1b1b300
mov dword [esp + 0x44], 2
mov dword [esp + 0x40], 0x15
push ecx
push 0x50
push 0x1b1b2b0
push edx
call fcn.00405dfe
push 0
push 0x15
call fcn.004108a0
mov dword [esp + 0x38], 0x40000000
lea ecx, [esp + 0x38]
add esp, 8
push 4
push ecx
call fcn.00410970
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x34]
add esp, 8
push 4
push ecx
call fcn.00410970
add esp, 8
call fcn.00410a20
mov esi, dword [edi + 8]
mov eax, dword [edi + 0xc]
cmp esi, eax
jl 0x40200e
mov esi, eax
test esi, esi
jle 0x4020e7
add ebp, 8
mov edi, 0x47c34f80
push 0
dec esi
push 0x15
call fcn.004108a0
add esp, 8
push 4
push ebp
add ebp, 0x30
call fcn.00410970
add esp, 8
lea eax, [ebp - 0x20]
push 4
push eax
call fcn.00410970
add esp, 8
lea eax, [ebp - 0x10]
push 4
push eax
call fcn.00410970
add esp, 8
call fcn.00410a20
push 0
push 0x15
call fcn.004108a0
add esp, 8
lea eax, [ebp - 0x2c]
push 4
push eax
call fcn.00410970
add esp, 8
lea eax, [ebp - 0x1c]
push 4
push eax
call fcn.00410970
add esp, 8
lea eax, [ebp - 0xc]
push 4
push eax
call fcn.00410970
add esp, 8
call fcn.00410a20
push 0
push 0x15
call fcn.004108a0
lea eax, [esp + 0x24]
mov dword [esp + 0x24], edi
add esp, 8
push 4
push eax
call fcn.00410970
lea eax, [esp + 0x20]
mov dword [esp + 0x20], edi
add esp, 8
push 4
push eax
call fcn.00410970
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
add esp, 8
push 4
push eax
call fcn.00410970
add esp, 8
call fcn.00410a20
test esi, esi
jne 0x40201e
push 0
push 0
push 0
push 0x15
call fcn.0040fd30
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x20