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

Disassembly:
sub esp, 0x80
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x98]
xor eax, eax
push ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov dword [0x6d5fb8], eax
mov dword [0x6d5fbc], eax
mov dword [0x6d5fc0], eax
mov dword [0x6d5fc4], eax
mov eax, dword [esp + 0xa0]
push ebp
mov ebp, dword [esp + 0x94]
push esi
mov esi, dword [esp + 0x90]
push edi
mov edi, dword [esp + 0x98]
mov byte [eax], 4
mov eax, dword [esp + 0xa4]
push ecx
push edx
push eax
push ebx
push ebp
push edi
push esi
mov dword [esp + 0xa0], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], edi
call fcn.0045e960
add esp, 0x1c
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x50]
lea eax, [esp + 0x54]
push ecx
push edx
lea ecx, [esp + 0x60]
push eax
lea edx, [esp + 0x68]
push ecx
lea eax, [esp + 0x70]
push edx
lea ecx, [esp + 0x78]
push eax
push ecx
push ebx
push ebp
push edi
push esi
call fcn.0045fd40
add esp, 0x2c
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x4c]
mov eax, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x78]
push ecx
push edx
push eax
push esi
mov edi, esi
mov dword [esp + 0xa0], eax
call fcn.0045fe20
mov ecx, dword [esp + 0xcc]
add esp, 0x24
mov esi, eax
mov eax, dword [esp + 0xb8]
mov ebp, edx
mov edx, dword [esp + 0xa4]
push eax
push ecx
push edx
push ebp
push esi
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x98], ebp
call fcn.0045d990
add esp, 0x14
test eax, eax
je 0x45eca0
mov eax, dword [0x6d5fbc]
mov ecx, dword [0x6d5fc4]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebp
mov dword [eax*8 + 0x6d1928], esi
mov dword [eax*8 + 0x6d192c], ebp
mov dword [ecx*8 + 0x6d3870], esi
inc eax
mov dword [ecx*8 + 0x6d3874], ebp
inc ecx
cmp eax, 0x3e8
mov dword [0x6d5fbc], eax
mov dword [0x6d5fc4], ecx
jb 0x45ec75
cmp ecx, 0x3e8
jae 0x45f328
cmp eax, 0x3e8
jae 0x45f44f
cmp ecx, 0x3e8
jae 0x45f4b7
cmp esi, dword [esp + 0x9c]
jne 0x45eba2
cmp ebp, dword [esp + 0xa0]
je 0x45f51f
jmp 0x45eba2
mov ecx, dword [esp + 0x9c]
cmp esi, ecx
jne 0x45ecba
mov eax, dword [esp + 0xa0]
cmp ebp, eax
je 0x45f579
mov ecx, dword [esp + 0x24]
mov edx, dword [0x6d5fcc]
lea eax, [ecx + 1]
cmp edx, eax
jae 0x45ecdb
mov ebp, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
jmp 0x45ece9
mov ebp, dword [ecx*8 + 0x6d5bb8]
mov ebx, dword [ecx*8 + 0x6d5bbc]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x8c]
push eax
push esi
push ecx
push edi
call fcn.0045e0e0
mov edx, dword [0x6d5fbc]
mov ecx, dword [0x6d5fc4]
mov byte [esp + 0x44], al
mov eax, dword [0x6d5fb8]
mov dword [esp + 0x48], edx
mov edx, dword [0x6d5fc0]
add esp, 0x10
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
lea eax, [esp + 0x28]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0xb8]
lea ecx, [esp + 0x2c]
push eax
mov eax, dword [esp + 0xac]
push ecx
mov ecx, dword [esp + 0xac]
push edx
mov edx, dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
mov edx, dword [esp + 0x98]
push 0x6d5fc0
push 0x6d5fc4
push 0x6d3870
push 0x6d5fb8
push 0x6d5fbc
push 0x6d1928
push ecx
push ebx
push ebp
push edx
push edi
call fcn.0045e3b0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
add esp, 0x48
cmp eax, 2
je 0x45eda9
cmp ecx, 2
jne 0x45edb1
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebx
cmp eax, 4
jne 0x45f139
cmp ecx, eax
jne 0x45f139
mov ecx, dword [esp + 0x24]
mov edx, dword [0x6d5fcc]
xor al, al
cmp ecx, edx
mov dword [esp + 0x30], ecx
jae 0x45efba
lea esi, [ecx*8 + 0x6d5bb8]
test al, al
jne 0x45f139
mov ecx, dword [esp + 0x38]
mov edx, dword [0x6d5fbc]
cmp ecx, edx
mov dword [esp + 0x20], ecx
jae 0x45eebb
lea ecx, [ecx*8 + 0x6d192c]
mov dword [esp + 0x3c], ecx
mov edx, dword [ecx - 4]
cmp edx, dword [esi]
jne 0x45ee9b
mov edx, dword [ecx]
cmp edx, dword [esi + 4]
jne 0x45ee9b
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xb8]
mov dword [0x6d5fbc], eax
mov eax, dword [esp + 0xa8]
mov ebx, dword [esi + 4]
mov dword [0x6d5fb8], ecx
mov ecx, dword [esp + 0xa4]
mov ebp, dword [esi]
push edx
mov edx, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x40]
push 0
push edx
push eax
push 0x6d5fb8
push 0x6d5fbc
push 0x6d1928
mov edx, ebx
push ecx
mov ecx, dword [esp + 0xa4]
mov eax, ebp
push edx
push eax
push ecx
push edi
call fcn.0045e1a0
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x64], eax
add esp, 0x38
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebx
mov al, 1
mov edx, dword [esp + 0x20]
add ecx, 8
inc edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], edx
mov edx, dword [0x6d5fbc]
cmp dword [esp + 0x20], edx
jb 0x45ee0a
mov ecx, dword [esp + 0x40]
mov edx, dword [0x6d5fc4]
cmp ecx, edx
mov dword [esp + 0x20], ecx
jae 0x45ef8d
lea ecx, [ecx*8 + 0x6d3874]
mov dword [esp + 0x3c], ecx
mov edx, dword [ecx - 4]
cmp edx, dword [esi]
jne 0x45ef6d
mov edx, dword [ecx]
cmp edx, dword [esi + 4]
jne 0x45ef6d
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb8]
mov dword [0x6d5fc4], eax
mov eax, dword [esp + 0xa8]
mov ebx, dword [esi + 4]
mov dword [0x6d5fc0], ecx
mov ecx, dword [esp + 0xa4]
mov ebp, dword [esi]
push edx
mov edx, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x40]
push 1
push edx
push eax
push 0x6d5fc0
push 0x6d5fc4
push 0x6d3870
mov edx, ebx
push ecx
mov ecx, dword [esp + 0xa4]
mov eax, ebp
push edx
push eax
push ecx
push edi
call fcn.0045e1a0
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x60], eax
add esp, 0x38
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebx
mov al, 1
mov edx, dword [esp + 0x20]
add ecx, 8
inc edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], edx
mov edx, dword [0x6d5fc4]
cmp dword [esp + 0x20], edx
jb 0x45eedc
test al, al
je 0x45ef9c
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x24], ecx
jmp 0x45efa8
mov edx, dword [esp + 0x30]
inc edx
add esi, 8
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x30]
mov ecx, dword [0x6d5fcc]
cmp edx, ecx
jb 0x45ede1
test al, al
jne 0x45f139
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x7c]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x68]
push eax
mov eax, dword [esp + 0xa0]
lea edx, [esp + 0x1c]
push ecx
mov ecx, dword [0x6d5fbc]
push edx
push ebp
push eax
push esi
push edi
push ecx
push 0x6d1928
call fcn.0045e890
add esp, 0x24
mov bl, al
lea edx, [esp + 0x14]
lea eax, [esp + 0x6c]
push edx
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x20]
push eax
mov eax, dword [0x6d5fc4]
push ecx
push ebp
push edx
push esi
push edi
push eax
push 0x6d3870
call fcn.0045e890
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
add esp, 0x24
mov dword [0x6d5fb8], esi
test bl, bl
mov dword [0x6d5fc0], edi
jne 0x45f04a
test al, al
je 0x45f801
mov edx, dword [esp + 0x24]
dec edx
test bl, bl
mov dword [esp + 0x24], edx
jne 0x45f07f
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], 2
mov ebp, dword [eax*8 + 0x6d3870]
mov ebx, dword [eax*8 + 0x6d3874]
lea ecx, [eax + 1]
mov dword [0x6d5fc4], ecx
jmp 0x45f145
test al, al
jne 0x45f0ab
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], 2
mov ebp, dword [eax*8 + 0x6d1928]
mov ebx, dword [eax*8 + 0x6d192c]
lea edx, [eax + 1]
mov dword [0x6d5fbc], edx
jmp 0x45f145
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jne 0x45f0ed
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jbe 0x45f0e3
mov ebp, dword [ecx*8 + 0x6d3870]
mov ebx, dword [ecx*8 + 0x6d3874]
lea eax, [ecx + 1]
mov dword [esp + 0x28], 2
mov dword [0x6d5fc4], eax
jmp 0x45f145
mov dword [esp + 0x2c], 2
jmp 0x45f120
jbe 0x45f114
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], 2
mov ebp, dword [eax*8 + 0x6d3870]
mov ebx, dword [eax*8 + 0x6d3874]
lea edx, [eax + 1]
mov dword [0x6d5fc4], edx
jmp 0x45f145
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], 2
mov ebp, dword [eax*8 + 0x6d1928]
mov ebx, dword [eax*8 + 0x6d192c]
lea ecx, [eax + 1]
mov dword [0x6d5fbc], ecx
jmp 0x45f145
mov esi, dword [0x6d5fb8]
mov edi, dword [0x6d5fc0]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
cmp eax, 2
je 0x45f19b
cmp ecx, 2
je 0x45f19b
cmp eax, 3
jne 0x45f164
cmp ecx, eax
je 0x45f724
cmp eax, 4
jne 0x45f184
cmp ecx, eax
jne 0x45f184
push str.Error_with_route___full
push str.FindPath
call fcn.0042b590
add esp, 8
jmp 0x45f2cd
push str.Problem_with_routefind
push str.FindPath
call fcn.0042b590
add esp, 8
jmp 0x45f2cd
cmp eax, 2
je 0x45f1a9
mov eax, dword [0x6d5fc4]
sub eax, edi
jmp 0x45f220
cmp ecx, 2
je 0x45f20d
mov eax, dword [0x6d5fbc]
mov edi, 0x6d3870
sub eax, esi
lea esi, [esi*8 + 0x6d1928]
mov dword [0x6d5fc4], eax
mov dword [0x6d5fbc], eax
lea ecx, [eax*8]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov esi, 0x6d3870
mov dword [0x6d5fb8], ecx
mov dword [0x6d5fc0], ecx
lea ecx, [eax*8]
mov edi, 0x6d1928
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x45f2c8
mov eax, dword [0x6d5fc4]
mov edx, dword [0x6d5fbc]
sub eax, edi
sub edx, esi
cmp eax, edx
jae 0x45f275
lea ecx, [eax*8]
lea esi, [edi*8 + 0x6d3870]
mov edx, ecx
mov edi, 0x6d1928
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [0x6d5fbc], eax
and ecx, 3
mov dword [0x6d5fc4], eax
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov esi, 0x6d1928
mov dword [0x6d5fb8], ecx
mov dword [0x6d5fc0], ecx
lea ecx, [eax*8]
mov edi, 0x6d3870
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x45f2c8
lea ecx, [edx*8]
lea esi, [esi*8 + 0x6d1928]
mov eax, ecx
mov edi, 0x6d3870
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [0x6d5fc4], edx
and ecx, 3
mov dword [0x6d5fbc], edx
rep movsb byte es:[edi], byte [esi]
lea ecx, [edx*8]
xor eax, eax
mov edx, ecx
mov esi, 0x6d3870
mov edi, 0x6d1928
mov dword [0x6d5fb8], eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov dword [0x6d5fc0], eax
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x9c]
mov esi, ebp
cmp ebp, eax
mov dword [esp + 0x84], ebx
jne 0x45f2ee
cmp ebx, dword [esp + 0xa0]
je 0x45f7a7
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x50]
push eax
lea edx, [esp + 0x58]
push ecx
lea eax, [esp + 0x60]
push edx
lea ecx, [esp + 0x68]
push eax
lea edx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0xb4]
lea eax, [esp + 0x78]
push edx
mov edx, dword [esp + 0xb4]
push eax
push ecx
push edx
push ebx
push ebp
jmp 0x45eb9a
mov ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [esp + 0xa0]
lea edx, [esp + 0x1c]
push 0x6d5fb8
push edx
push ebp
push ecx
push edi
push esi
push eax
push 0x6d1928
call fcn.0045e890
mov ecx, dword [esp + 0xc0]
add esp, 0x24
lea edx, [esp + 0x14]
mov bl, al
push edx
mov edx, dword [0x6d5fc4]
lea eax, [esp + 0x20]
push 0x6d5fc0
push eax
push ebp
push ecx
push edi
push esi
push edx
push 0x6d3870
call fcn.0045e890
add esp, 0x24
test bl, bl
jne 0x45f3ce
test al, al
jne 0x45f3c6
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x1c]
mov byte [eax], 4
mov eax, dword [esp + 0xb4]
mov dword [ecx], edx
mov dword [eax], 0
jmp 0x45f78b
test bl, bl
je 0x45f49a
test al, al
jne 0x45f3f0
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov edx, dword [0x6d5fbc]
sub edx, dword [0x6d5fb8]
jmp 0x45f944
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jne 0x45f41a
mov edx, dword [esp + 0x14]
mov ebp, dword [0x6d5fc0]
mov esi, dword [esp + 0x10]
mov ebx, dword [0x6d5fb8]
sub edx, ebp
sub esi, ebx
cmp esi, edx
jae 0x45f436
jmp 0x45f41c
jae 0x45f436
mov ecx, dword [esp + 0xb0]
mov dword [ecx], eax
mov edx, dword [0x6d5fbc]
sub edx, dword [0x6d5fb8]
jmp 0x45f944
mov edx, dword [esp + 0xb0]
mov dword [edx], ecx
mov eax, dword [0x6d5fc4]
sub eax, dword [0x6d5fc0]
jmp 0x45f703
lea eax, [esp + 0x14]
lea edx, [esp + 0x1c]
push eax
mov eax, dword [esp + 0xa4]
push 0x6d5fc0
push edx
mov edx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0xa8]
push eax
push edx
push ecx
push 0x6d3870
call fcn.0045e890
add esp, 0x24
test al, al
je 0x45f49a
mov eax, dword [esp + 0xac]
mov byte [eax], 4
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x1c]
mov dword [ecx], edx
mov eax, dword [0x6d5fc4]
sub eax, dword [0x6d5fc0]
jmp 0x45f703
lea ecx, [esp + 0x10]
lea edx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0xa4]
push 0x6d5fb8
push edx
mov edx, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0xa8]
push ecx
push edx
push eax
push 0x6d1928
call fcn.0045e890
add esp, 0x24
test al, al
jne 0x45f502
mov eax, dword [esp + 0xac]
mov byte [eax], 4
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x18]
mov dword [ecx], edx
mov eax, dword [0x6d5fbc]
sub eax, dword [0x6d5fb8]
jmp 0x45f664
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov byte [eax], 1
mov dword [ecx], 0
mov eax, dword [0x6d5fc4]
mov edi, dword [0x6d5fc0]
mov ecx, dword [0x6d5fbc]
mov esi, dword [0x6d5fb8]
sub eax, edi
sub ecx, esi
cmp eax, ecx
jae 0x45f6ce
mov dword [edx], eax
mov eax, dword [0x6d5fc0]
lea eax, [eax*8 + 0x6d3870]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x94]
lea edx, [esp + 0x10]
push edx
lea edx, [esp + 0x1c]
push 0x6d5fb8
push edx
push eax
mov eax, dword [0x6d5fbc]
push ecx
push edi
push esi
push eax
push 0x6d1928
call fcn.0045e890
add esp, 0x24
lea ecx, [esp + 0x14]
mov bl, al
mov eax, dword [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0xa0]
lea edx, [esp + 0x20]
push 0x6d5fc0
push edx
mov edx, dword [0x6d5fc4]
push eax
push ecx
push edi
push esi
push edx
push 0x6d3870
call fcn.0045e890
add esp, 0x24
test bl, bl
jne 0x45f646
test al, al
jne 0x45f608
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb4]
mov byte [eax], 4
mov dword [ecx], 0
jmp 0x45f889
test bl, bl
jne 0x45f646
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [edx], eax
mov edx, dword [0x6d5fc0]
sub ecx, edx
mov edx, dword [esp + 0xb4]
inc ecx
mov dword [edx], ecx
mov eax, dword [0x6d5fc0]
lea eax, [eax*8 + 0x6d3870]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
test al, al
jne 0x45f685
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov dword [ecx], edx
mov edx, dword [0x6d5fb8]
sub eax, edx
inc eax
mov ecx, dword [esp + 0xb4]
mov dword [ecx], eax
mov edx, dword [0x6d5fb8]
lea eax, [edx*8 + 0x6d1928]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
cmp edx, esi
jne 0x45f6e7
mov eax, dword [esp + 0x14]
mov ecx, dword [0x6d5fc0]
mov ebp, dword [0x6d5fb8]
mov edi, eax
sub edi, ecx
mov ecx, dword [esp + 0x10]
mov ebx, ecx
sub ebx, ebp
cmp ebx, edi
jae 0x45f911
mov eax, dword [esp + 0xb0]
mov dword [eax], edx
mov edx, dword [0x6d5fb8]
sub ecx, edx
inc ecx
mov edx, dword [esp + 0xb4]
mov dword [edx], ecx
mov eax, dword [0x6d5fb8]
lea eax, [eax*8 + 0x6d1928]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
jb 0x45f92e
mov edx, dword [esp + 0xb0]
mov dword [edx], esi
mov eax, dword [esp + 0x14]
mov edx, dword [0x6d5fc0]
sub eax, edx
inc eax
mov ecx, dword [esp + 0xb4]
mov dword [ecx], eax
mov edx, dword [0x6d5fc0]
lea eax, [edx*8 + 0x6d3870]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov eax, dword [esp + 0xac]
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x94]
lea ecx, [esp + 0x10]
mov byte [eax], 3
mov eax, dword [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0xa0]
lea edx, [esp + 0x1c]
push 0x6d5fb8
push edx
mov edx, dword [0x6d5fbc]
push eax
push ecx
push edi
push esi
push edx
push 0x6d1928
call fcn.0045e890
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xd8]
add esp, 0x24
mov dword [eax], ecx
mov dword [edx], 0
mov dword [0x6d3870], esi
mov dword [0x6d3874], edi
mov eax, 0x6d3870
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov byte [eax], 1
mov dword [ecx], 0
mov eax, dword [0x6d5fc4]
mov edi, dword [0x6d5fc0]
mov ecx, dword [0x6d5fbc]
mov esi, dword [0x6d5fb8]
sub eax, edi
sub ecx, esi
cmp eax, ecx
jae 0x45f6c7
mov edx, dword [esp + 0xb4]
mov dword [edx], eax
mov eax, dword [0x6d5fc0]
lea eax, [eax*8 + 0x6d3870]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x94]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x18]
push eax
mov eax, dword [0x6d5fbc]
push 0x6d5fb8
push ecx
push edx
push ebp
push edi
push esi
push eax
push 0x6d1928
call fcn.0045e890
add esp, 0x24
lea ecx, [esp + 0x14]
mov bl, al
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [0x6d5fc4]
lea edx, [esp + 0x20]
push 0x6d5fc0
push edx
push eax
push ebp
push edi
push esi
push ecx
push 0x6d3870
call fcn.0045e890
add esp, 0x24
test bl, bl
jne 0x45f8bb
test al, al
jne 0x45f8a5
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xb4]
mov byte [edx], 4
mov dword [eax], 0
mov dword [0x6d1928], esi
mov dword [0x6d192c], edi
mov eax, 0x6d1928
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
test bl, bl
jne 0x45f8bb
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x1c]
mov dword [ecx], edx
jmp 0x45f6f6
test al, al
jne 0x45f8ce
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
jmp 0x45f937
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
cmp edx, esi
jne 0x45f928
mov eax, dword [esp + 0x14]
mov ecx, dword [0x6d5fc0]
mov ebp, dword [0x6d5fb8]
mov edi, eax
sub edi, ecx
mov ecx, dword [esp + 0x10]
mov ebx, ecx
sub ebx, ebp
cmp ebx, edi
jae 0x45f911
mov eax, dword [esp + 0xb0]
mov dword [eax], edx
mov edx, dword [0x6d5fb8]
sub ecx, edx
inc ecx
jmp 0x45f6c7
mov ecx, dword [esp + 0xb0]
mov dword [ecx], esi
mov edx, dword [0x6d5fc0]
sub eax, edx
inc eax
jmp 0x45f7e1
jae 0x45f6ed
mov ecx, dword [esp + 0xb0]
mov dword [ecx], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [0x6d5fb8]
sub edx, ecx
inc edx
mov eax, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
mov dword [eax], edx
mov ecx, dword [0x6d5fb8]
pop ebx
lea eax, [ecx*8 + 0x6d1928]
add esp, 0x80
ret