Function at 0x475ad0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x804
mov eax, dword [0x59cd24]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov dword [ebp - 0x7c4], ecx
cmp dword [ebp + 8], 0
je 0x475af7
cmp dword [ebp + 0xc], 0
jne 0x475afe
xor al, al
jmp 0x47614e
mov dword [ebp - 0x800], 0
push 0x200
push 0
lea eax, [ebp - 0x404]
push eax
call fcn.004c4160
add esp, 0xc
push 0x200
push 0
lea ecx, [ebp - 0x204]
push ecx
call fcn.004c4160
add esp, 0xc
mov dword [ebp - 0x7cc], 0
push str.SymSetOptions
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x7e8], eax
push str.SymGetOptions
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x7e4], eax
push str.SymInitialize
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x7ec], eax
push str.SymCleanup
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x7fc], eax
push str.StackWalk64
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x7f8], eax
push str.SymFunctionTableAccess64
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x7f4], eax
push str.SymGetModuleBase64
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x7f0], eax
cmp dword [ebp - 0x7e8], 0
je 0x476122
cmp dword [ebp - 0x7e4], 0
je 0x476122
cmp dword [ebp - 0x7ec], 0
je 0x476122
cmp dword [ebp - 0x7fc], 0
je 0x476122
cmp dword [ebp - 0x7f8], 0
je 0x476122
cmp dword [ebp - 0x7f4], 0
je 0x476122
cmp dword [ebp - 0x7f0], 0
je 0x476122
call dword [ebp - 0x7e4]
or eax, 4
push eax
call dword [ebp - 0x7e8]
push 1
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [ebp - 0x7ec]
test eax, eax
je 0x476113
push str.Use_DbgHelp_to_walk_stack_r_n
call fcn.0046dd80
add esp, 4
push 0xf0
push 0
lea eax, [ebp - 0x7c0]
push eax
call fcn.004c4160
add esp, 0xc
mov dword [ebp - 0x804], 0x14c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xb8]
xor eax, eax
mov dword [ebp - 0x7c0], edx
mov dword [ebp - 0x7bc], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xb4]
xor eax, eax
mov dword [ebp - 0x7a0], edx
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc4]
xor eax, eax
mov dword [ebp - 0x790], edx
mov dword [ebp - 0x78c], eax
mov dword [ebp - 0x7b4], 3
mov dword [ebp - 0x794], 3
mov dword [ebp - 0x784], 3
mov dword [ebp - 0x800], 1
mov dword [ebp - 0x7d8], 0
mov ecx, 0xb3
mov esi, dword [ebp + 0xc]
lea edi, [ebp - 0x6d0]
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, dword [ebp - 0x7f0]
push ecx
mov edx, dword [ebp - 0x7f4]
push edx
push 0
lea eax, [ebp - 0x6d0]
push eax
lea ecx, [ebp - 0x7c0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
mov edx, dword [ebp - 0x804]
push edx
call dword [ebp - 0x7f8]
test eax, eax
je 0x476104
mov eax, dword [ebp - 0x7a0]
or eax, dword [ebp - 0x79c]
jne 0x475d5f
jmp 0x476104
mov dword [ebp - 0x7d0], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x7e0], xmm0
lea ecx, [ebp - 0x7e0]
push ecx
lea edx, [ebp - 0x7d0]
push edx
mov eax, dword [ebp - 0x7c0]
push eax
mov ecx, dword [ebp - 0x7c4]
call fcn.004758e0
mov dword [ebp - 0x7d4], eax
cmp dword [ebp - 0x7d4], 0
je 0x475dcb
mov ecx, dword [ebp - 0x7c4]
push ecx
call fcn.00475060
add esp, 4
push eax
mov edx, dword [ebp - 0x7c4]
push edx
mov eax, dword [ebp - 0x7d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x475dfe
mov dword [ebp - 0x7d4], 0
push 0x554fb4
mov ecx, dword [ebp - 0x7c4]
push ecx
call fcn.00475060
add esp, 4
push eax
mov edx, dword [ebp - 0x7c4]
push edx
call fcn.00477bd0
add esp, 0xc
jmp 0x476104
push 0x400
mov eax, dword [ebp - 0x7c4]
add eax, 0x208
push eax
call fcn.00462bb0
add esp, 8
mov ecx, dword [ebp - 0x7c4]
mov dword [ecx + 0x1208], 0
mov edx, dword [ebp - 0x7c4]
push edx
mov ecx, dword [ebp - 0x7c4]
call fcn.00476d10
mov eax, dword [ebp - 0x7c4]
add eax, 0x208
push eax
call fcn.00462ba0
add esp, 4
test eax, eax
jne 0x475e81
push str.The_image_doesnt_have_debug_data
mov ecx, dword [ebp - 0x7c4]
add ecx, 0x208
push ecx
call fcn.00475070
add esp, 4
push eax
mov edx, dword [ebp - 0x7c4]
add edx, 0x208
push edx
call fcn.00477bd0
add esp, 0xc
mov eax, dword [ebp - 0x7c4]
push eax
mov ecx, dword [ebp - 0x7c4]
add ecx, 0x208
push ecx
mov edx, dword [ebp - 0x7c4]
mov eax, dword [edx + 0x1208]
push eax
mov ecx, dword [ebp - 0x7e0]
push ecx
mov edx, dword [ebp - 0x7d0]
push edx
mov eax, dword [ebp - 0x7a0]
push eax
mov ecx, dword [ebp - 0x7c0]
push ecx
push str._p___p___08X:_p___08X___s______s__r_n
push 8
call fcn.0046dca0
add esp, 0x24
cmp dword [ebp - 0x7d8], 0
jne 0x475fd2
mov edx, dword [ebp - 0x7d8]
add edx, 1
mov dword [ebp - 0x7d8], edx
push 0xc00
mov eax, dword [ebp - 0x7c4]
add eax, 0x608
push eax
call fcn.00462bb0
add esp, 8
mov ecx, dword [ebp - 0x7c4]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov dword [ebp - 0x7cc], eax
mov edx, dword [ebp - 0x7cc]
push edx
lea eax, [ebp - 0x204]
push eax
call fcn.00475050
add esp, 4
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.00477bd0
add esp, 0xc
lea edx, [ebp - 0x204]
push edx
mov eax, dword [ebp - 0x7c4]
add eax, 0x208
push eax
mov ecx, dword [ebp - 0x7c4]
mov edx, dword [ecx + 0x1208]
push edx
mov eax, dword [ebp - 0x7e0]
push eax
mov ecx, dword [ebp - 0x7d0]
push ecx
mov edx, dword [ebp - 0x7a0]
push edx
mov eax, dword [ebp - 0x7c0]
push eax
push str._p__p__08X:_p__08X__s__s
lea ecx, [ebp - 0x404]
push ecx
call fcn.00475050
add esp, 4
push eax
lea edx, [ebp - 0x404]
push edx
call fcn.00427cdf
add esp, 0x28
lea eax, [ebp - 0x404]
push eax
mov ecx, dword [ebp - 0x7c4]
add ecx, 0x608
push ecx
call fcn.00475090
add esp, 4
push eax
mov edx, dword [ebp - 0x7c4]
add edx, 0x608
push edx
call fcn.00477bd0
add esp, 0xc
jmp 0x4760cf
push 0x200
lea eax, [ebp - 0x404]
push eax
call fcn.00462bb0
add esp, 8
push 0x200
lea ecx, [ebp - 0x204]
push ecx
call fcn.00462bb0
add esp, 8
mov dword [ebp - 0x7cc], 0
mov edx, dword [ebp - 0x7c4]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov dword [ebp - 0x7cc], eax
mov eax, dword [ebp - 0x7cc]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.00475050
add esp, 4
push eax
lea edx, [ebp - 0x204]
push edx
call fcn.00477bd0
add esp, 0xc
lea eax, [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0x7c4]
add ecx, 0x208
push ecx
mov edx, dword [ebp - 0x7c4]
mov eax, dword [edx + 0x1208]
push eax
mov ecx, dword [ebp - 0x7e0]
push ecx
mov edx, dword [ebp - 0x7d0]
push edx
mov eax, dword [ebp - 0x7a0]
push eax
mov ecx, dword [ebp - 0x7c0]
push ecx
push str._p__p__08X:_p__08X__s__s
lea edx, [ebp - 0x404]
push edx
call fcn.00475050
add esp, 4
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.00427cdf
add esp, 0x28
lea ecx, [ebp - 0x404]
push ecx
mov edx, dword [ebp - 0x7c4]
add edx, 0x608
push edx
call fcn.00475090
add esp, 4
push eax
mov eax, dword [ebp - 0x7c4]
add eax, 0x608
push eax
call fcn.00477b40
add esp, 0xc
cmp dword [ebp - 0x7d4], 0
je 0x4760ff
mov ecx, dword [ebp - 0x7dc]
push ecx
mov edx, dword [ebp - 0x7e0]
push edx
mov eax, dword [ebp - 0x7d0]
push eax
mov ecx, dword [ebp - 0x7c4]
push ecx
mov ecx, dword [ebp - 0x7c4]
call fcn.00477020
jmp 0x475d09
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [ebp - 0x7fc]
jmp 0x476120
push str.DbgHelp_SymInitialize_Failed
call fcn.0046dd80
add esp, 4
jmp 0x47612f
push str.DbgHelp_GetProcAddress_Failed
call fcn.0046dd80
add esp, 4
cmp dword [ebp - 0x800], 0
je 0x476141
mov byte [ebp - 0x7c5], 1
jmp 0x476148
mov byte [ebp - 0x7c5], 0
mov al, byte [ebp - 0x7c5]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049fb26
mov esp, ebp
pop ebp
ret 8