Function at 0x56d9f0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x204
mov eax, dword [0x6e30d0]
xor eax, esp
mov dword [esp + 0x200], eax
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0xff
lea eax, [esp + 0x115]
push ebx
push eax
mov ebp, ecx
mov byte [esp + 0x11c], bl
call fcn.005899a0
push 0xff
lea ecx, [esp + 0x21]
push ebx
push ecx
mov byte [esp + 0x28], bl
call fcn.005899a0
add esp, 0x18
lea edx, [esp + 0x110]
push edx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [esp + 0x110]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56da60
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 4], eax
lea ecx, [esp + 0x110]
mov edx, eax
nop
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56da80
xor eax, eax
cmp dword [0x5f1108], ebx
je 0x56e140
jmp 0x56daa0
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56daa0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56dab5
mov al, byte [0x5d6040]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56dad0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dad0
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 8], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56daf0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56db00
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56db15
mov ecx, 5
mov esi, 0x5d6044
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [esp + 0x10]
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56db33
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x10]
mov edx, eax
nop
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56db50
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56db60
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56db75
mov ecx, dword [0x5d605c]
mov dl, byte [0x5d6060]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56db95
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x10], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dbb1
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dbc0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56dbd5
mov ecx, dword [0x5d6064]
mov dx, word [0x5d6068]
mov dword [eax], ecx
mov cl, byte [0x5d606a]
mov word [eax + 4], dx
mov byte [eax + 6], cl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dc00
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x14], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dc20
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dc30
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56dc45
mov edx, dword [0x5d606c]
mov ecx, dword [0x5d6070]
mov dword [eax], edx
mov dx, word [0x5d6074]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dc70
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x18], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dc90
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dca0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56dcb5
mov ecx, dword [0x5d6078]
mov dl, byte [0x5d607c]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dcd5
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x1c], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dcf1
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dd00
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56dd15
mov al, byte [0x5d6041]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56dd30
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dd30
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x20], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56dd50
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dd60
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56dd75
mov cl, byte [0x5d6042]
lea eax, [esp + 0x10]
mov byte [edi], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dd90
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x24], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56ddb0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56ddc0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56ddd5
mov dl, byte [0x5d6043]
lea eax, [esp + 0x10]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56ddf0
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x28], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56de10
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56de20
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56de35
mov al, byte [0x5d605b]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56de50
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56de50
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x2c], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56de70
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56de80
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56de95
mov cl, byte [0x5d6061]
lea eax, [esp + 0x10]
mov byte [edi], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56deb0
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x30], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56ded0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dee0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56def5
mov dl, byte [0x5d6062]
lea eax, [esp + 0x10]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56df10
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x38], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56df30
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56df40
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56df55
mov al, byte [0x5d6063]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56df70
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56df70
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x3c], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56df90
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56dfa0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56dfb5
mov ecx, dword [0x5d6080]
mov edx, dword [0x5d6084]
mov dword [eax], ecx
mov ecx, dword [0x5d6088]
mov dword [eax + 4], edx
mov dx, word [0x5d608c]
mov dword [eax + 8], ecx
mov cl, byte [0x5d608e]
mov word [eax + 0xc], dx
mov byte [eax + 0xe], cl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56dff2
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x34], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e010
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e020
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56e035
mov dl, byte [0x5d606b]
lea eax, [esp + 0x10]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e050
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x40], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e070
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e080
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56e095
mov al, byte [0x5d6076]
mov byte [edi], al
lea eax, [esp + 0x10]
lea edx, [eax + 1]
jmp 0x56e0b0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e0b0
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x44], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e0d0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e0e0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56e0f5
mov cl, byte [0x5d6077]
lea eax, [esp + 0x10]
mov byte [edi], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e110
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x48], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e130
jmp 0x56e8cd
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e140
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56e155
mov dl, byte [0x5d607d]
lea eax, [esp + 0x10]
mov byte [edi], dl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e170
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 8], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e190
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e1a0
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x56e1b5
mov ecx, 5
mov esi, 0x5d6090
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [esp + 0x10]
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e1d3
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x10]
mov edx, eax
nop
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e1f0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e200
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e215
mov ecx, dword [0x5d60a8]
mov dl, byte [0x5d60ac]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e235
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x10], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e251
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e260
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e275
mov ecx, dword [0x5d60b0]
mov dx, word [0x5d60b4]
mov dword [eax], ecx
mov cl, byte [0x5d60b6]
mov word [eax + 4], dx
mov byte [eax + 6], cl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e2a0
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x14], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e2c0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e2d0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e2e5
mov edx, dword [0x5d60b8]
mov ecx, dword [0x5d60bc]
mov dword [eax], edx
mov dx, word [0x5d60c0]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e310
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x18], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e330
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e340
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e355
mov ecx, dword [0x5d60c4]
mov dl, byte [0x5d60c8]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e375
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x1c], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e391
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e3a0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e3b5
mov ecx, dword [0x5d60cc]
mov edx, dword [0x5d60d0]
mov dword [eax], ecx
mov ecx, dword [0x5d60d4]
mov dword [eax + 4], edx
mov edx, dword [0x5d60d8]
mov dword [eax + 8], ecx
mov cx, word [0x5d60dc]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e3f2
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x20], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e410
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e420
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e435
mov edx, dword [0x5d60e0]
mov ecx, dword [0x5d60e4]
mov dword [eax], edx
mov edx, dword [0x5d60e8]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e460
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x24], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e480
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e490
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e4a5
mov ecx, dword [0x5d60ec]
mov edx, dword [0x5d60f0]
mov dword [eax], ecx
mov ecx, dword [0x5d60f4]
mov dword [eax + 4], edx
mov edx, dword [0x5d60f8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e4d7
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x28], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e4f3
xor eax, eax
nop
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e500
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e515
mov ecx, dword [0x5d60fc]
mov edx, dword [0x5d6100]
mov dword [eax], ecx
mov ecx, dword [0x5d6104]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e540
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x2c], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e560
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e570
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e585
mov edx, dword [0x5d6108]
mov ecx, dword [0x5d610c]
mov dword [eax], edx
mov edx, dword [0x5d6110]
mov dword [eax + 4], ecx
mov cx, word [0x5d6114]
mov dword [eax + 8], edx
mov dl, byte [0x5d6116]
mov word [eax + 0xc], cx
mov byte [eax + 0xe], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e5c2
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x30], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e5e0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e5f0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e605
mov ecx, dword [0x5d6118]
mov edx, dword [0x5d611c]
mov dword [eax], ecx
mov ecx, dword [0x5d6120]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e630
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x38], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e650
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e660
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e675
mov edx, dword [0x5d6124]
mov ecx, dword [0x5d6128]
mov dword [eax], edx
mov edx, dword [0x5d612c]
mov dword [eax + 4], ecx
mov cx, word [0x5d6130]
mov dword [eax + 8], edx
mov word [eax + 0xc], cx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e6b0
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x3c], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e6d0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e6e0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e6f5
mov edx, dword [0x5d6134]
mov ecx, dword [0x5d6138]
mov dword [eax], edx
mov edx, dword [0x5d613c]
mov dword [eax + 4], ecx
mov cx, word [0x5d6140]
mov dword [eax + 8], edx
mov dl, byte [0x5d6142]
mov word [eax + 0xc], cx
mov byte [eax + 0xe], dl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e732
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x34], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e750
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e760
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e775
mov ecx, dword [str.3DDataMapObject]
mov edx, dword [0x5d6148]
mov dword [eax], ecx
mov ecx, dword [0x5d614c]
mov dword [eax + 4], edx
mov edx, dword [0x5d6150]
mov dword [eax + 8], ecx
mov cx, word [0x5d6154]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e7b2
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x40], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e7d0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e7e0
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e7f5
mov edx, dword [0x5d6158]
mov ecx, dword [0x5d615c]
mov dword [eax], edx
mov edx, dword [0x5d6160]
mov dword [eax + 4], ecx
mov cx, word [0x5d6164]
mov dword [eax + 8], edx
mov word [eax + 0xc], cx
lea eax, [esp + 0x10]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e830
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x44], eax
lea ecx, [esp + 0x10]
mov edx, eax
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e850
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x110]
mov byte [esp + eax + 0x10], cl
inc eax
cmp cl, bl
jne 0x56e860
lea eax, [esp + 0x10]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x56e875
mov edx, dword [0x5d6168]
mov ecx, dword [0x5d616c]
mov dword [eax], edx
mov edx, dword [0x5d6170]
mov dword [eax + 4], ecx
mov cl, byte [0x5d6174]
mov dword [eax + 8], edx
mov byte [eax + 0xc], cl
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x56e8a7
sub eax, edx
inc eax
push eax
call fcn.00589a56
add esp, 4
mov dword [ebp + 0x48], eax
lea ecx, [esp + 0x10]
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x56e8c3
mov ecx, dword [esp + 0x210]
pop edi
pop esi
mov dword [ebp + 0x50], ebx
pop ebp
pop ebx
xor ecx, esp
call fcn.00589b64
add esp, 0x204
ret