Function at 0x407060
Capabilities:
Query environment variable
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d4
mov eax, dword [0x78834c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp + 0x20]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x180], eax
xor eax, eax
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x1a8], edi
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x1a4], edx
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1a0], eax
cmp dword [esi], eax
je 0x4070e0
mov ecx, dword [str.HY000]
push ecx
push 0x80a
push esi
call fcn.00402a20
add esp, 0xc
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00472ef6
mov esp, ebp
pop ebp
ret 0x20
push ebx
push 0x154
lea ebx, [ebp - 0x178]
call fcn.00406660
add esp, 4
test eax, eax
jne 0x407d16
mov dword [esi], eax
mov dword [esi + 0x2dc], eax
mov eax, dword [esi + 0x328]
mov dword [esi + 0x3b0], 0x4d6b90
test eax, eax
jne 0x407129
cmp dword [esi + 0x32c], eax
je 0x407166
test eax, eax
jne 0x407129
mov eax, 0x4b961c
mov edx, dword [esi + 0x32c]
push edx
push eax
lea eax, [esi + 0x2f8]
push eax
call fcn.00403450
mov ecx, dword [esi + 0x328]
push ecx
call fcn.00413e00
mov edx, dword [esi + 0x32c]
push edx
call fcn.00413e00
add esp, 0x14
xor eax, eax
mov dword [esi + 0x32c], eax
mov dword [esi + 0x328], eax
mov ebx, dword [ebp - 0x17c]
test ebx, ebx
je 0x407175
cmp byte [ebx], 0
jne 0x407181
mov ebx, dword [esi + 0x310]
mov dword [ebp - 0x17c], ebx
test edi, edi
je 0x40718a
cmp byte [edi], 0
jne 0x4071a4
mov eax, dword [esi + 0x314]
mov dword [ebp - 0x1a8], eax
test eax, eax
jne 0x4071a4
mov dword [ebp - 0x1a8], 0x4b8ae9
cmp dword [ebp - 0x198], 0
jne 0x4071df
mov eax, dword [esi + 0x318]
mov dword [ebp - 0x198], eax
test eax, eax
jne 0x4071df
push str.MYSQL_PWD
call dword [sym.imp.MSVCR100.dll_getenv]
add esp, 4
mov dword [ebp - 0x198], eax
test eax, eax
jne 0x4071df
mov dword [ebp - 0x198], 0x4b8ae9
mov eax, dword [ebp - 0x1a4]
test eax, eax
je 0x4071ee
cmp byte [eax], 0
jne 0x4071fa
mov eax, dword [esi + 0x320]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp + 0x1c], 0
jne 0x407209
mov ecx, dword [esi + 0x304]
mov dword [ebp + 0x1c], ecx
cmp dword [ebp - 0x180], 0
jne 0x40721e
mov edx, dword [esi + 0x31c]
mov dword [ebp - 0x180], edx
mov eax, dword [esi + 0x308]
mov dword [esi + 0x2ec], 2
mov edi, 4
test eax, eax
je 0x40723f
cmp eax, edi
jne 0x4072e8
test ebx, ebx
je 0x407279
mov ecx, str.localhost
mov eax, ebx
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407270
test dl, dl
je 0x40726c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407270
add eax, 2
add ecx, 2
test dl, dl
jne 0x407250
xor eax, eax
jmp 0x407275
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4072e8
mov eax, esi
call fcn.00402a00
push eax
push esi
mov ecx, esi
call fcn.00402da0
add esp, 8
cmp eax, 0xffffffff
jne 0x4072a8
cmp dword [esi + 0x308], edi
je 0x407cf8
push esi
call fcn.00402ac0
add esp, 4
jmp 0x4072e8
mov eax, dword [esi + 0x34c]
push eax
mov dword [esi + 0x308], edi
mov edx, dword [str.Shared_memory:___.100s]
lea ecx, [ebp - 0x178]
push edx
mov dword [ebp - 0x17c], eax
mov eax, ecx
push 0x153
push eax
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x1a0], ecx
call fcn.0040dc30
add esp, 0x10
mov eax, dword [esi]
test eax, eax
jne 0x4077d6
mov ebx, 3
cmp dword [esi + 0x308], ebx
je 0x407364
mov edi, dword [ebp - 0x17c]
test edi, edi
je 0x407339
mov ecx, 0x4b9d18
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407330
test dl, dl
je 0x40732c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407330
add eax, 2
add ecx, 2
test dl, dl
jne 0x407310
xor eax, eax
jmp 0x407335
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x407364
cmp byte [0x812f3c], 0
jne 0x407441
cmp dword [ebp - 0x180], 0
jne 0x407364
test edi, edi
jne 0x407441
call fcn.004032a0
test al, al
je 0x407441
lea ecx, [ebp - 0x17c]
push ecx
mov eax, esi
call fcn.00402a00
push eax
push esi
lea ecx, [ebp - 0x180]
call fcn.00402b30
add esp, 0xc
cmp eax, 0xffffffff
jne 0x407411
cmp dword [esi + 0x308], ebx
je 0x407cf8
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x4073d3
mov ecx, 0x4b9d18
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4073c6
test dl, dl
je 0x4073c2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4073c6
add eax, 2
add ecx, 2
test dl, dl
jne 0x4073a6
xor eax, eax
jmp 0x4073cb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x407cf8
mov eax, dword [ebp - 0x180]
test eax, eax
je 0x407441
mov ecx, str.MySQL
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407402
test dl, dl
je 0x4073fe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407402
add eax, 2
add ecx, 2
test dl, dl
jne 0x4073e2
xor eax, eax
jmp 0x407407
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x407cf8
jmp 0x407441
push eax
call fcn.004144a0
mov dword [esi], eax
mov eax, dword [ebp - 0x180]
mov ecx, dword [str.Named_pipe:___.32s]
push eax
push ecx
lea edx, [ebp - 0x178]
push 0x153
push edx
mov dword [ebp - 0x1a0], edx
call fcn.0040dc30
add esp, 0x14
mov eax, dword [esi]
test eax, eax
jne 0x4077d6
mov eax, dword [esi + 0x308]
test eax, eax
je 0x40745e
cmp eax, 1
jne 0x4077c0
xor eax, eax
or edi, 0xffffffff
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x180], eax
cmp dword [ebp + 0x1c], eax
jne 0x407488
mov eax, dword [0x812af4]
mov dword [ebp + 0x1c], eax
mov ebx, dword [ebp - 0x17c]
test ebx, ebx
jne 0x40749d
mov ebx, str.localhost
mov dword [ebp - 0x17c], ebx
mov edx, dword [str.__.100s_via_TCP_IP]
push ebx
lea ecx, [ebp - 0x178]
push edx
mov eax, ecx
push 0x153
push eax
mov dword [ebp - 0x1a0], ecx
call fcn.0040dc30
mov ecx, dword [ebp + 0x1c]
xor eax, eax
push ecx
push 0x4ba1d4
lea edx, [ebp - 0x24]
push 0x20
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], eax
push edx
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1cc], 1
mov dword [ebp - 0x1c8], 6
mov dword [ebp - 0x1d0], eax
call fcn.0040dc30
add esp, 0x20
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x1d4]
push ecx
lea edx, [ebp - 0x24]
push edx
push ebx
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x407569
call dword [sym.imp.MSVCR100.dll__errno]
mov eax, dword [eax]
mov ecx, dword [str.Unknown_MySQL_server_host___.100s___d_]
mov edx, dword [str.HY000]
push eax
push ebx
push ecx
push edx
push 0x7d5
push esi
call fcn.00402af0
add esp, 0x18
jmp 0x407cf8
mov eax, dword [esi + 0x360]
test eax, eax
je 0x4075c4
lea ecx, [ebp - 0x190]
push ecx
lea edx, [ebp - 0x1d4]
push edx
push 0
push eax
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x4075c4
mov ecx, dword [str.Unknown_MySQL_server_host___.100s___d_]
mov edx, dword [str.HY000]
push eax
mov eax, dword [esi + 0x360]
push eax
push ecx
push edx
push 0x7d5
push esi
call fcn.00402af0
mov eax, dword [ebp - 0x184]
add esp, 0x18
push eax
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
jmp 0x407cf8
mov ebx, dword [ebp - 0x184]
mov dword [ebp - 0x194], ebx
test ebx, ebx
je 0x4076ff
jmp 0x4075e0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
push ecx
push edx
push eax
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
je 0x4076e2
mov eax, dword [ebp - 0x190]
test eax, eax
je 0x40764e
mov ebx, eax
lea esp, [esp]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x18]
push ecx
push edx
push edi
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x407648
mov ebx, dword [ebx + 0x1c]
test ebx, ebx
jne 0x407610
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push edi
mov dword [ebp - 0x18c], eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov ebx, dword [ebp - 0x194]
jmp 0x4076ee
mov ebx, dword [ebp - 0x194]
mov eax, dword [esi]
push 2
push 0
push edi
test eax, eax
jne 0x4076a7
call fcn.00414470
add esp, 0xc
mov dword [esi], eax
test eax, eax
jne 0x4076ba
mov eax, dword [str.HY000]
push eax
push 0x7d8
push esi
call fcn.00402a20
add esp, 0xc
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [ebp - 0x184]
mov edi, dword [sym.imp.WS2_32.dll_freeaddrinfo]
push ecx
call edi
mov eax, dword [ebp - 0x190]
test eax, eax
je 0x407cf8
push eax
call edi
jmp 0x407cf8
push 0
push eax
call fcn.00414300
add esp, 0x14
test al, al
jne 0x407747
mov eax, esi
call fcn.004029e0
mov ecx, dword [ebx + 0x18]
mov edx, dword [esi]
push eax
mov eax, dword [ebx + 0x10]
push eax
push ecx
push edx
call fcn.0041dae0
movsx eax, al
add esp, 0x10
mov dword [ebp - 0x19c], eax
test eax, eax
je 0x4076ff
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x18c], eax
mov ebx, dword [ebx + 0x1c]
mov dword [ebp - 0x194], ebx
test ebx, ebx
jne 0x4075e0
mov ecx, dword [ebp - 0x184]
mov ebx, dword [sym.imp.WS2_32.dll_freeaddrinfo]
push ecx
call ebx
mov eax, dword [ebp - 0x190]
test eax, eax
je 0x40771b
push eax
call ebx
cmp edi, 0xffffffff
jne 0x407788
mov edx, dword [ebp - 0x18c]
mov eax, dword [str.Cant_create_TCP_IP_socket___d_]
mov ecx, dword [str.HY000]
push edx
push eax
push ecx
push 0x7d4
push esi
call fcn.00402af0
add esp, 0x14
jmp 0x407cf8
mov edx, dword [str.HY000]
push edx
push 0x7d0
push esi
call fcn.00402a20
add esp, 0xc
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp - 0x184]
mov edi, dword [sym.imp.WS2_32.dll_freeaddrinfo]
push eax
call edi
mov eax, dword [ebp - 0x190]
test eax, eax
je 0x407cf8
push eax
call edi
jmp 0x407cf8
cmp dword [ebp - 0x19c], 0
je 0x4077c0
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x17c]
mov ecx, dword [str.Cant_connect_to_MySQL_server_on___.100s___d_]
push edx
mov edx, dword [str.HY000]
push eax
push ecx
push edx
push 0x7d3
push esi
call fcn.00402af0
add esp, 0x18
jmp 0x407cf8
mov eax, dword [esi]
test eax, eax
jne 0x4077d6
mov eax, dword [str.HY000]
push eax
push 0x7ff
jmp 0x407cef
push eax
push esi
call fcn.0041c600
add esp, 8
test al, al
mov eax, dword [esi]
je 0x40780f
mov ecx, dword [eax + 0x14c]
push eax
call ecx
mov dword [esi], 0
mov edx, dword [str.HY000]
push edx
push 0x7d8
push esi
call fcn.00402a20
add esp, 0x10
jmp 0x407cf8
push 1
push eax
mov eax, dword [eax + 0x160]
call eax
mov eax, dword [esi + 0x2fc]
add esp, 8
test eax, eax
je 0x407831
push eax
push esi
call fcn.0041c9d0
add esp, 8
mov eax, dword [esi + 0x300]
test eax, eax
je 0x407845
push eax
push esi
call fcn.0041c9f0
add esp, 8
mov eax, dword [esi + 0x350]
test eax, eax
je 0x407852
mov dword [esi + 0x2c], eax
cmp dword [esi + 0x2f8], 0
mov dword [esi + 0x2e4], 0xa
je 0x4078ae
mov ecx, dword [esi]
mov eax, esi
call fcn.004029e0
push eax
push 0
push ecx
mov ecx, dword [ecx + 0x184]
call ecx
add esp, 0xc
cmp eax, 1
jge 0x4078ae
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, dword [str.Lost_connection_to_MySQL_server_at__s__system_error:__d]
push eax
mov eax, dword [str.HY000]
push str.waiting_for_initial_communication_packet
push edx
push eax
push 0x7dd
push esi
call fcn.00402af0
add esp, 0x18
jmp 0x407cf8
push esi
call fcn.00406810
add esp, 4
cmp eax, 0xffffffff
jne 0x4078f6
cmp dword [esi + 0x58], 0x7dd
jne 0x407cf8
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, dword [str.Lost_connection_to_MySQL_server_at__s__system_error:__d]
mov edx, dword [str.HY000]
push eax
push str.reading_initial_communication_packet
push ecx
push edx
push 0x7dd
push esi
call fcn.00402af0
add esp, 0x18
jmp 0x407cf8
mov ecx, dword [esi + 0x10]
lea ebx, [ecx + eax]
movzx eax, byte [ecx]
mov dword [ebp - 0x184], ebx
mov dword [esi + 0x2e4], eax
cmp eax, 0xa
je 0x407933
mov ecx, dword [str.HY000]
push 0xa
push eax
mov eax, dword [str.Protocol_mismatch__server_version___d__client_version___d]
push eax
push ecx
push 0x7d7
push esi
call fcn.00402af0
add esp, 0x18
jmp 0x407cf8
inc ecx
push ecx
call fcn.0041bda0
mov edx, dword [eax + 1]
mov edi, eax
add eax, 5
lea ecx, [eax + 0xa]
add esp, 4
mov dword [esi + 0x2d0], edx
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x1b4], 9
mov dword [ebp - 0x1ac], str.mysql_old_password
cmp ebx, ecx
jb 0x407976
movzx edx, word [eax + 9]
mov dword [esi + 0x2e0], edx
lea ecx, [eax + 0x1b]
mov dword [ebp - 0x190], ecx
cmp ebx, ecx
jb 0x4079c3
movsx ecx, byte [eax + 0xb]
mov dword [esi + 0x2f0], ecx
movzx edx, word [eax + 0xc]
mov dword [esi + 0x2ec], edx
movzx ecx, word [eax + 0xe]
shl ecx, 0x10
or dword [esi + 0x2e0], ecx
movsx eax, byte [eax + 0x10]
mov dword [ebp - 0x1b0], eax
test eax, eax
jns 0x4079c3
mov edx, dword [str.HY000]
push edx
push 0x7eb
jmp 0x407cef
cmp byte [esi + 0x364], 0
je 0x4079f4
mov eax, dword [ebp - 0x198]
cmp byte [eax], 0
je 0x4079f4
test dword [esi + 0x2e0], 0x8000
jne 0x4079f4
mov ecx, dword [str.HY000]
push ecx
push 0x801
jmp 0x407cef
push esi
call fcn.00404480
add esp, 4
test eax, eax
jne 0x407cf8
mov eax, dword [ebp - 0x180]
test eax, eax
je 0x407a24
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a12
sub eax, edx
inc eax
mov dword [ebp - 0x19c], eax
jmp 0x407a2e
mov dword [ebp - 0x19c], 1
mov eax, dword [ebp - 0x17c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a37
sub eax, edx
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x1a0]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x407a50
sub edi, dword [esi + 0x10]
push 0
sub eax, ecx
inc edi
push edi
lea ecx, [esi + 0x280]
push ecx
mov ecx, dword [ebp - 0x19c]
push ecx
lea ecx, [esi + 0x27c]
push ecx
mov ecx, dword [ebp - 0x18c]
inc ecx
push ecx
lea ebx, [esi + 0x270]
push ebx
inc eax
push eax
lea edx, [esi + 0x284]
push edx
push 0
call fcn.0041e270
add esp, 0x28
test eax, eax
je 0x407ce4
mov edx, dword [ebp - 0x1a8]
push 0
push edx
call fcn.00413e40
add esp, 8
mov dword [esi + 0x274], eax
test eax, eax
je 0x407ce4
mov eax, dword [ebp - 0x198]
push 0
push eax
call fcn.00413e40
add esp, 8
mov dword [esi + 0x278], eax
test eax, eax
je 0x407ce4
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [esi + 0x284]
push ecx
push edx
call fcn.00408340
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebx]
push eax
push ecx
call fcn.00408340
mov eax, dword [ebp - 0x180]
add esp, 0x10
test eax, eax
je 0x407b1e
mov edx, dword [esi + 0x27c]
push eax
push edx
call fcn.00408340
add esp, 8
jmp 0x407b28
mov dword [esi + 0x27c], 0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x280]
inc eax
push eax
push ecx
call fcn.00408340
mov eax, dword [ebp - 0x190]
mov edi, dword [ebp - 0x184]
mov edx, dword [ebp + 0x1c]
lea ecx, [eax + 0xd]
add esp, 8
mov dword [esi + 0x2d8], edx
cmp edi, ecx
jb 0x407b9a
mov edx, dword [ebp - 0x194]
push 8
lea ebx, [eax - 8]
push edx
push ebx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
test dword [esi + 0x2e0], 0x80000
mov eax, ebx
je 0x407b8f
mov edx, dword [ebp - 0x1b0]
lea ecx, [eax + edx]
cmp ecx, edi
jbe 0x407bb6
sub edi, eax
mov edx, edi
jmp 0x407bb6
sub edi, eax
mov edx, edi
mov ecx, str.mysql_native_password
jmp 0x407bb6
and dword [esi + 0x2e0], 0xffff7fff
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x1ac]
mov edi, dword [ebp + 0x24]
mov dword [esi + 0x2dc], edi
mov edi, dword [ebp - 0x1a4]
push edi
push ecx
push edx
push eax
push esi
call fcn.00406db0
add esp, 0x14
test eax, eax
jne 0x407cf8
test byte [esi + 0x2dc], 0x20
je 0x407be7
mov byte [esi + 0x50], 1
test edi, edi
je 0x407c3b
cmp dword [esi + 0x28c], 0
jne 0x407c3b
push edi
push esi
call fcn.00404ff0
test eax, eax
je 0x407c3b
cmp dword [esi + 0x58], 0x7dd
jne 0x407cf8
call dword [sym.imp.MSVCR100.dll__errno]
mov eax, dword [eax]
mov ecx, dword [str.Lost_connection_to_MySQL_server_at__s__system_error:__d]
mov edx, dword [str.HY000]
push eax
push str.Setting_intital_database
push ecx
push edx
push 0x7dd
push esi
call fcn.00402af0
add esp, 0x18
jmp 0x407cf8
mov eax, dword [esi + 0x324]
test eax, eax
je 0x407ccf
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov cl, byte [esi + 0x385]
lea eax, [ebx + eax*4]
mov dword [ebp - 0x1ac], eax
mov byte [ebp - 0x185], cl
mov byte [esi + 0x385], 0
cmp ebx, eax
jae 0x407cc3
mov edi, edi
mov edx, dword [ebx]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407c77
sub eax, edi
push eax
push edx
push esi
call fcn.00405370
test eax, eax
jne 0x407cf8
lea esp, [esp]
cmp dword [esi + 0x294], 0
je 0x407cac
push esi
call fcn.004054f0
add esp, 4
test eax, eax
je 0x407cf8
push eax
call fcn.004032f0
push esi
call fcn.004134a0
test eax, eax
jg 0x407cf8
je 0x407c90
add ebx, 4
cmp ebx, dword [ebp - 0x1ac]
jb 0x407c70
mov dl, byte [ebp - 0x185]
mov byte [esi + 0x385], dl
pop ebx
pop edi
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00472ef6
mov esp, ebp
pop ebp
ret 0x20
mov eax, dword [str.HY000]
push eax
push 0x7d8
push esi
call fcn.00402a20
add esp, 0xc
push esi
call fcn.00406530
add esp, 4
call fcn.004051a0
test dword [ebp + 0x24], 0x80000000
jne 0x407d16
mov eax, esi
call fcn.00405060
mov ecx, dword [ebp - 4]
pop ebx
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.00472ef6
mov esp, ebp
pop ebp
ret 0x20