Function at 0x4309f0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xdc
mov dword [ebp - 0xbc], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0xc0], edx
mov ebx, eax
mov dword [ebp - 0xc4], eax
shr ebx, 1
mov dword [esp + 4], 0xa
mov dword [esp], ebx
call fcn.004c85e8
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], edx
xor edx, edx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004bbe90
push ecx
push ecx
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x54]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x58]
mov dword [esp], eax
call fcn.004c8640
mov eax, dword [ebp - 0xc0]
lea ecx, [ebp - 0xa0]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004bfb6c
push eax
mov eax, dword [ebp - 0xbc]
mov ebx, dword [eax]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 8], ebx
lea ecx, [ebp - 0xa0]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.004be3b0
sub esp, 0x10
lea ecx, [ebp - 0x88]
mov dword [esp], eax
call fcn.004bf9e0
lea ecx, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004bd200
push edi
lea ecx, [ebp - 0x70]
lea ebx, [ebp - 0x58]
push edi
mov dword [esp], eax
call fcn.004bf9e0
lea ecx, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0xc4], eax
lea edi, [esi + eax]
call fcn.00441420
cmp eax, edi
jae 0x430b23
mov ecx, ebx
call fcn.00441420
cmp eax, edi
jb 0x430b23
mov dword [esp + 0xc], esi
mov eax, dword [ebp - 0x70]
xor esi, esi
mov ecx, ebx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.004be3b0
sub esp, 0x10
jmp 0x430b3d
mov eax, dword [ebp - 0xc4]
lea ecx, [ebp - 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x58]
mov dword [esp], eax
call fcn.004bd200
push ecx
push ecx
mov dword [esp], eax
lea ecx, [ebp - 0xb8]
call fcn.004bf9e0
lea ecx, [ebp - 0x70]
push edx
call fcn.004bbce0
lea ecx, [ebp - 0x88]
call fcn.004bbce0
lea ecx, [ebp - 0xa0]
call fcn.004bbce0
mov ecx, ebx
call fcn.004bbce0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e88f8]
test al, al
jne 0x430bc2
mov dword [esp], 0x4e88f8
call fcn.004d5a00
test eax, eax
je 0x430bc2
mov dword [esp], ebx
mov ecx, 0x4edc20
call fcn.0043167c
push eax
mov dword [esp], 0x4d6650
call fcn.004013f0
mov dword [esp], 0x4e88f8
call fcn.004d5ad0
mov ecx, 0x4edc20
call fcn.0043164c
mov dword [esp], 0x4edc20
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e88b0]
test al, al
jne 0x430c29
mov dword [esp], 0x4e88b0
call fcn.004d5a00
test eax, eax
je 0x430c29
mov dword [esp], ebx
mov ecx, 0x4edb6c
call fcn.0043167c
push eax
mov dword [esp], 0x4d6654
call fcn.004013f0
mov dword [esp], 0x4e88b0
call fcn.004d5ad0
mov ecx, 0x4edb6c
call fcn.0043164c
mov dword [esp], 0x4edb6c
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e88c0]
test al, al
jne 0x430c90
mov dword [esp], 0x4e88c0
call fcn.004d5a00
test eax, eax
je 0x430c90
mov dword [esp], ebx
mov ecx, 0x4edb84
call fcn.0043167c
push eax
mov dword [esp], 0x4d6658
call fcn.004013f0
mov dword [esp], 0x4e88c0
call fcn.004d5ad0
mov ecx, 0x4edb84
call fcn.0043164c
mov dword [esp], 0x4edb84
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e88c8]
test al, al
jne 0x430cf7
mov dword [esp], 0x4e88c8
call fcn.004d5a00
test eax, eax
je 0x430cf7
mov dword [esp], ebx
mov ecx, 0x4edb90
call fcn.0043167c
push eax
mov dword [esp], 0x4d665c
call fcn.004013f0
mov dword [esp], 0x4e88c8
call fcn.004d5ad0
mov ecx, 0x4edb90
call fcn.0043164c
mov dword [esp], 0x4edb90
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e88d0]
test al, al
jne 0x430d5e
mov dword [esp], 0x4e88d0
call fcn.004d5a00
test eax, eax
je 0x430d5e
mov dword [esp], ebx
mov ecx, 0x4edb9c
call fcn.0043167c
push eax
mov dword [esp], 0x4d6660
call fcn.004013f0
mov dword [esp], 0x4e88d0
call fcn.004d5ad0
mov ecx, 0x4edb9c
call fcn.0043164c
mov dword [esp], 0x4edb9c
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e88d8]
test al, al
jne 0x430dc5
mov dword [esp], 0x4e88d8
call fcn.004d5a00
test eax, eax
je 0x430dc5
mov dword [esp], ebx
mov ecx, 0x4edba8
call fcn.0043167c
push edi
mov dword [esp], 0x4d6664
call fcn.004013f0
mov dword [esp], 0x4e88d8
call fcn.004d5ad0
mov ecx, 0x4edba8
call fcn.0043164c
mov dword [esp], 0x4edba8
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e88e0]
test al, al
jne 0x430e2c
mov dword [esp], 0x4e88e0
call fcn.004d5a00
test eax, eax
je 0x430e2c
mov dword [esp], ebx
mov ecx, 0x4edbb4
call fcn.0043167c
push esi
mov dword [esp], 0x4d6668
call fcn.004013f0
mov dword [esp], 0x4e88e0
call fcn.004d5ad0
mov ecx, 0x4edbb4
call fcn.0043164c
mov dword [esp], 0x4edbb4
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e88e8]
test al, al
jne 0x430e93
mov dword [esp], 0x4e88e8
call fcn.004d5a00
test eax, eax
je 0x430e93
mov dword [esp], ebx
mov ecx, 0x4edbc0
call fcn.0043167c
push ecx
mov dword [esp], 0x4d666c
call fcn.004013f0
mov dword [esp], 0x4e88e8
call fcn.004d5ad0
mov ecx, 0x4edbc0
call fcn.0043164c
mov dword [esp], 0x4edbc0
call fcn.00424ea0
mov esi, 0x4e70c0
mov ecx, 0x10
mov edi, ebx
mov dword [ebp - 0x70], 0xe580be5e
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4e88f0]
test al, al
jne 0x430eff
mov dword [esp], 0x4e88f0
call fcn.004d5a00
test eax, eax
je 0x430eff
mov eax, 0x4edbe0
mov ecx, 0x10
mov esi, ebx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp], 0x4d6670
call fcn.004013f0
mov dword [esp], 0x4e88f0
call fcn.004d5ad0
xor edx, edx
mov dword [esp + 0xc], 0xca45bccb
mov dword [esp + 0x10], 0xaac12c92
mov dword [esp + 4], 0x40
mov dword [esp + 8], edx
mov dword [esp], 0x4edbe0
call fcn.004316a4
mov dword [esp], 0x4edbe0
call sub.msvcrt.dll_getenv
test eax, eax
jne 0x430f3d
xor ebx, ebx
jmp 0x430fac
lea eax, [ebp - 0x70]
call eax
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e88b8]
test al, al
jne 0x430f93
mov dword [esp], 0x4e88b8
call fcn.004d5a00
test eax, eax
je 0x430f93
mov dword [esp], ebx
mov ecx, 0x4edb78
call fcn.0043167c
push eax
mov dword [esp], 0x4d6688
call fcn.004013f0
mov dword [esp], 0x4e88b8
call fcn.004d5ad0
mov ecx, 0x4edb78
call fcn.0043164c
mov dword [esp], 0x4edb78
call fcn.00424ea0
jmp 0x430f39
inc ebx
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax + 4]
cmp ebx, esi
je 0x43102a
mov eax, dword [ebp - 0xbc]
mov ecx, esi
xor edx, edx
shr ecx, 1
mov eax, dword [eax + 4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc0]
mov edi, dword [eax]
mov eax, dword [ebp - 0xc4]
imul ecx, eax
mov eax, esi
add edi, ebx
div ecx
xor edx, edx
shr eax, 1
imul eax, esi
mov esi, 0xa
div esi
xor edx, edx
mov ecx, eax
mov eax, ebx
div dword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
movsx eax, byte [eax + edx]
xor ecx, eax
mov eax, dword [ebp - 0xc0]
xor byte [edi], cl
cmp dword [eax + 4], 0x163
ja 0x430fab
mov dword [esp], 1
call sub.msvcrt.dll_exit
lea ecx, [ebp - 0xb8]
call fcn.004bbce0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret