Function at 0x42a418
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x50]
sub esp, 0x7c
call fcn.0042b890
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
mov al, byte [0x4ddd78]
test al, al
jne 0x42a47a
mov dword [esp], 0x4ddd78
call fcn.004ceb90
test eax, eax
je 0x42a47a
mov dword [esp], ebx
mov ecx, 0x4e1c40
call fcn.0042e96c
push eax
mov dword [esp], 0x4cf948
call fcn.004013f0
mov dword [esp], 0x4ddd78
call fcn.004cec60
mov ecx, 0x4e1c40
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e1c40
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x9d06632
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddc70]
test al, al
jne 0x42a4e4
mov dword [esp], 0x4ddc70
call fcn.004ceb90
test eax, eax
je 0x42a4e4
mov dword [esp], ebx
mov ecx, 0x4e1620
call fcn.0042e89c
push eax
mov dword [esp], 0x4cf94c
call fcn.004013f0
mov dword [esp], 0x4ddc70
call fcn.004cec60
mov ecx, 0x4e1620
call fcn.0042e86c
mov dword [esp], 0x4e1620
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42a503
lea eax, [ebp - 0x5d]
call eax
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
mov al, byte [0x4ddcd0]
test al, al
jne 0x42a554
mov dword [esp], 0x4ddcd0
call fcn.004ceb90
test eax, eax
je 0x42a554
mov dword [esp], ebx
mov ecx, 0x4e184c
call fcn.0042e96c
push edi
mov dword [esp], 0x4cf958
call fcn.004013f0
mov dword [esp], 0x4ddcd0
call fcn.004cec60
mov ecx, 0x4e184c
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e184c
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x1de06e36
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddd10]
test al, al
jne 0x42a5be
mov dword [esp], 0x4ddd10
call fcn.004ceb90
test eax, eax
je 0x42a5be
mov dword [esp], ebx
mov ecx, 0x4e19c0
call fcn.0042e89c
push esi
mov dword [esp], 0x4cf95c
call fcn.004013f0
mov dword [esp], 0x4ddd10
call fcn.004cec60
mov ecx, 0x4e19c0
call fcn.0042e86c
mov dword [esp], 0x4e19c0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42a5dd
lea eax, [ebp - 0x5d]
call eax
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
mov al, byte [0x4ddd58]
test al, al
jne 0x42a62e
mov dword [esp], 0x4ddd58
call fcn.004ceb90
test eax, eax
je 0x42a62e
mov dword [esp], ebx
mov ecx, 0x4e1b80
call fcn.0042e96c
push ecx
mov dword [esp], 0x4cf968
call fcn.004013f0
mov dword [esp], 0x4ddd58
call fcn.004cec60
mov ecx, 0x4e1b80
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e1b80
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x31f0763a
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddd60]
test al, al
jne 0x42a698
mov dword [esp], 0x4ddd60
call fcn.004ceb90
test eax, eax
je 0x42a698
mov dword [esp], ebx
mov ecx, 0x4e1ba0
call fcn.0042e89c
push edx
mov dword [esp], 0x4cf96c
call fcn.004013f0
mov dword [esp], 0x4ddd60
call fcn.004cec60
mov ecx, 0x4e1ba0
call fcn.0042e86c
mov dword [esp], 0x4e1ba0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42a6b7
lea eax, [ebp - 0x5d]
call eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0042a3e8
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
test eax, eax
jne 0x42a79e
mov al, byte [0x4ddd68]
test al, al
jne 0x42a71e
mov dword [esp], 0x4ddd68
call fcn.004ceb90
test eax, eax
je 0x42a71e
mov dword [esp], ebx
mov ecx, 0x4e1be0
call fcn.0042e96c
push eax
mov dword [esp], 0x4cf978
call fcn.004013f0
mov dword [esp], 0x4ddd68
call fcn.004cec60
mov ecx, 0x4e1be0
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e1be0
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x45007e3e
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddd70]
test al, al
jne 0x42a788
mov dword [esp], 0x4ddd70
call fcn.004ceb90
test eax, eax
je 0x42a788
mov dword [esp], ebx
mov ecx, 0x4e1c00
call fcn.0042e89c
push eax
mov dword [esp], 0x4cf988
call fcn.004013f0
mov dword [esp], 0x4ddd70
call fcn.004cec60
mov ecx, 0x4e1c00
call fcn.0042e86c
mov dword [esp], 0x4e1c00
jmp 0x42aad3
mov al, byte [0x4ddc78]
test al, al
jne 0x42a7dd
mov dword [esp], 0x4ddc78
call fcn.004ceb90
test eax, eax
je 0x42a7dd
mov dword [esp], ebx
mov ecx, 0x4e1660
call fcn.0042e96c
push eax
mov dword [esp], 0x4cf994
call fcn.004013f0
mov dword [esp], 0x4ddc78
call fcn.004cec60
mov ecx, 0x4e1660
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e1660
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x6d208e46
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddc80]
test al, al
jne 0x42a847
mov dword [esp], 0x4ddc80
call fcn.004ceb90
test eax, eax
je 0x42a847
mov dword [esp], ebx
mov ecx, 0x4e1680
call fcn.0042e89c
push eax
mov dword [esp], 0x4cf998
call fcn.004013f0
mov dword [esp], 0x4ddc80
call fcn.004cec60
mov ecx, 0x4e1680
call fcn.0042e86c
mov dword [esp], 0x4e1680
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42a866
lea eax, [ebp - 0x5d]
call eax
mov dword [esp + 4], 5
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0042b47c
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x4c], 0x7c90ec48
mov eax, dword [eax + 0x34]
mov byte [ebp - 0x48], 0x42
mov dword [ebp - 0x70], eax
mov al, byte [0x4ddc88]
test al, al
jne 0x42a8d6
mov dword [esp], 0x4ddc88
call fcn.004ceb90
test eax, eax
je 0x42a8d6
mov dword [esp], ebx
mov ecx, 0x4e16c0
call fcn.0042e96c
push eax
mov dword [esp], 0x4cf9a4
call fcn.004013f0
mov dword [esp], 0x4ddc88
call fcn.004cec60
mov ecx, 0x4e16c0
lea edi, [ebp - 0x50]
mov esi, 0x4dd1a0
call fcn.0042e93c
mov dword [esp], 0x4e16c0
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x8130964a
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x50]
mov al, byte [0x4ddc90]
test al, al
jne 0x42a944
mov dword [esp], 0x4ddc90
call fcn.004ceb90
test eax, eax
je 0x42a944
mov dword [esp], esi
mov ecx, 0x4e16e0
call fcn.0042e89c
push edi
mov dword [esp], 0x4cf9a8
call fcn.004013f0
mov dword [esp], 0x4ddc90
call fcn.004cec60
mov ecx, 0x4e16e0
call fcn.0042e86c
mov dword [esp], 0x4e16e0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42a963
lea eax, [ebp - 0x5d]
call eax
mov ecx, esi
call fcn.0042e414
mov eax, esi
call fcn.00428388
mov ecx, esi
mov edi, dword [0x4de048]
mov ebx, eax
call fcn.0042e714
mov dword [esp], ebx
mov dword [esp + 4], esi
call edi
push edx
push edx
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx + 0x34]
mov dword [esp], 0xffffffff
mov dword [esp + 4], edx
call eax
push ecx
push ecx
mov ecx, esi
mov ebx, dword [0x4de048]
call fcn.0042e6d8
lea ecx, [ebp - 0x5d]
call fcn.0042e3d8
mov eax, ecx
call fcn.004284d4
mov dword [esp + 4], esi
mov dword [esp], eax
call ebx
push ebx
push ebx
mov ebx, eax
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x3000
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x50]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
call ebx
mov dword [ebp - 0x70], eax
sub esp, 0x10
test eax, eax
jne 0x42abeb
cmp dword [ebp - 0x74], 0
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
jne 0x42aaea
mov al, byte [0x4ddc98]
test al, al
jne 0x42aa54
mov dword [esp], 0x4ddc98
call fcn.004ceb90
test eax, eax
je 0x42aa54
mov dword [esp], esi
mov ecx, 0x4e1720
call fcn.0042e96c
push eax
mov dword [esp], 0x4cf9b4
call fcn.004013f0
mov dword [esp], 0x4ddc98
call fcn.004cec60
mov ecx, 0x4e1720
lea edi, [ebp - 0x50]
mov esi, 0x4dd1a0
call fcn.0042e93c
mov dword [esp], 0x4e1720
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x95409e4e
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddca0]
test al, al
jne 0x42aac2
mov dword [esp], 0x4ddca0
call fcn.004ceb90
test eax, eax
je 0x42aac2
lea eax, [ebp - 0x50]
mov ecx, 0x4e1740
mov dword [esp], eax
call fcn.0042e89c
push eax
mov dword [esp], 0x4cf9b8
call fcn.004013f0
mov dword [esp], 0x4ddca0
call fcn.004cec60
mov ecx, 0x4e1740
call fcn.0042e86c
mov dword [esp], 0x4e1740
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42abe1
lea eax, [ebp - 0x5d]
call eax
jmp 0x42abe1
mov al, byte [0x4ddca8]
test al, al
jne 0x42ab29
mov dword [esp], 0x4ddca8
call fcn.004ceb90
test eax, eax
je 0x42ab29
mov dword [esp], esi
mov ecx, 0x4e1780
call fcn.0042e96c
push eax
mov dword [esp], 0x4cf9c4
call fcn.004013f0
mov dword [esp], 0x4ddca8
call fcn.004cec60
mov ecx, 0x4e1780
lea edi, [ebp - 0x50]
mov esi, 0x4dd1a0
call fcn.0042e93c
mov dword [esp], 0x4e1780
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0xa950a652
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddcb0]
test al, al
jne 0x42ab97
mov dword [esp], 0x4ddcb0
call fcn.004ceb90
test eax, eax
je 0x42ab97
lea eax, [ebp - 0x50]
mov ecx, 0x4e17a0
mov dword [esp], eax
call fcn.0042e89c
push eax
mov dword [esp], 0x4cf9c8
call fcn.004013f0
mov dword [esp], 0x4ddcb0
call fcn.004cec60
mov ecx, 0x4e17a0
call fcn.0042e86c
mov dword [esp], 0x4e17a0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42abb6
lea eax, [ebp - 0x5d]
call eax
mov dword [esp + 0xc], 0x40
xor edi, edi
mov dword [esp + 8], 0x3000
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x50]
mov dword [esp], edi
mov dword [esp + 4], eax
call ebx
mov dword [ebp - 0x70], eax
sub esp, 0x10
test eax, eax
jne 0x42abeb
xor esi, esi
mov dword [esp], esi
call sub.msvcrt.dll_exit
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
mov al, byte [0x4ddcb8]
test al, al
jne 0x42ac3f
mov dword [esp], 0x4ddcb8
call fcn.004ceb90
test eax, eax
je 0x42ac3f
lea eax, [ebp - 0x50]
mov ecx, 0x4e17e0
mov dword [esp], eax
call fcn.0042e96c
push ebx
mov dword [esp], 0x4cf9d4
call fcn.004013f0
mov dword [esp], 0x4ddcb8
call fcn.004cec60
mov ecx, 0x4e17e0
lea edi, [ebp - 0x50]
lea ebx, [ebp - 0x50]
mov esi, 0x4dd1a0
call fcn.0042e93c
mov dword [esp], 0x4e17e0
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0xbd60ae56
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddcc0]
test al, al
jne 0x42acad
mov dword [esp], 0x4ddcc0
call fcn.004ceb90
test eax, eax
je 0x42acad
mov dword [esp], ebx
mov ecx, 0x4e1800
call fcn.0042e89c
push ecx
mov dword [esp], 0x4cf9d8
call fcn.004013f0
mov dword [esp], 0x4ddcc0
call fcn.004cec60
mov ecx, 0x4e1800
call fcn.0042e86c
mov dword [esp], 0x4e1800
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42accc
lea eax, [ebp - 0x5d]
call eax
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp + 8]
mov dword [eax + 0x34], edx
mov ecx, dword [eax + 0x54]
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
mov al, byte [0x4ddcc8]
test al, al
jne 0x42ad30
mov dword [esp], 0x4ddcc8
call fcn.004ceb90
test eax, eax
je 0x42ad30
mov dword [esp], ebx
mov ecx, 0x4e1840
call fcn.0042e96c
push edx
mov dword [esp], 0x4cf9e8
call fcn.004013f0
mov dword [esp], 0x4ddcc8
call fcn.004cec60
mov ecx, 0x4e1840
lea edi, [ebp - 0x50]
mov esi, 0x4dd1a0
call fcn.0042e93c
mov dword [esp], 0x4e1840
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0xd170b65a
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddcd8]
test al, al
jne 0x42ad9e
mov dword [esp], 0x4ddcd8
call fcn.004ceb90
test eax, eax
je 0x42ad9e
lea eax, [ebp - 0x50]
mov ecx, 0x4e1860
mov dword [esp], eax
call fcn.0042e89c
push eax
mov dword [esp], 0x4cf9ec
call fcn.004013f0
mov dword [esp], 0x4ddcd8
call fcn.004cec60
mov ecx, 0x4e1860
call fcn.0042e86c
mov dword [esp], 0x4e1860
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42adbd
lea eax, [ebp - 0x5d]
call eax
mov eax, dword [ebp - 0x6c]
lea ebx, [eax + 0x104]
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
movzx eax, word [eax + 6]
cmp dword [ebp - 0x74], eax
mov byte [ebp - 0x48], 0x42
jge 0x42aed9
mov al, byte [0x4ddce0]
test al, al
jne 0x42ae2f
mov dword [esp], 0x4ddce0
call fcn.004ceb90
test eax, eax
je 0x42ae2f
lea eax, [ebp - 0x50]
mov ecx, 0x4e18a0
mov dword [esp], eax
call fcn.0042e96c
push eax
mov dword [esp], 0x4cf9f8
call fcn.004013f0
mov dword [esp], 0x4ddce0
call fcn.004cec60
mov ecx, 0x4e18a0
lea edi, [ebp - 0x50]
mov esi, 0x4dd1a0
call fcn.0042e93c
mov dword [esp], 0x4e18a0
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0xe580be5e
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddce8]
test al, al
jne 0x42ae9d
mov dword [esp], 0x4ddce8
call fcn.004ceb90
test eax, eax
je 0x42ae9d
lea eax, [ebp - 0x50]
mov ecx, 0x4e18c0
mov dword [esp], eax
call fcn.0042e89c
push eax
mov dword [esp], 0x4cf9fc
call fcn.004013f0
mov dword [esp], 0x4ddce8
call fcn.004cec60
mov ecx, 0x4e18c0
call fcn.0042e86c
mov dword [esp], 0x4e18c0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42aebc
lea eax, [ebp - 0x5d]
call eax
mov eax, dword [ebp - 0x70]
add eax, dword [ebx]
add ebx, 0x28
mov ecx, dword [ebx - 0x24]
mov esi, dword [ebp + 8]
mov edi, eax
add esi, dword [ebx - 0x20]
inc dword [ebp - 0x74]
rep movsb byte es:[edi], byte [esi]
jmp 0x42adcb
mov al, byte [0x4ddcf0]
lea ebx, [ebp - 0x50]
test al, al
jne 0x42af1b
mov dword [esp], 0x4ddcf0
call fcn.004ceb90
test eax, eax
je 0x42af1b
mov dword [esp], ebx
mov ecx, 0x4e1900
call fcn.0042e96c
push eax
mov dword [esp], 0x4cfa08
call fcn.004013f0
mov dword [esp], 0x4ddcf0
call fcn.004cec60
mov ecx, 0x4e1900
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e1900
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0xf990c662
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddcf8]
test al, al
jne 0x42af85
mov dword [esp], 0x4ddcf8
call fcn.004ceb90
test eax, eax
je 0x42af85
mov dword [esp], ebx
mov ecx, 0x4e1920
call fcn.0042e89c
push edi
mov dword [esp], 0x4cfa0c
call fcn.004013f0
mov dword [esp], 0x4ddcf8
call fcn.004cec60
mov ecx, 0x4e1920
call fcn.0042e86c
mov dword [esp], 0x4e1920
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42afa4
lea eax, [ebp - 0x5d]
call eax
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
mov al, byte [0x4ddd00]
test al, al
jne 0x42aff5
mov dword [esp], 0x4ddd00
call fcn.004ceb90
test eax, eax
je 0x42aff5
mov dword [esp], ebx
mov ecx, 0x4e1960
call fcn.0042e96c
push esi
mov dword [esp], 0x4cfa18
call fcn.004013f0
mov dword [esp], 0x4ddd00
call fcn.004cec60
mov ecx, 0x4e1960
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e1960
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0xda0ce66
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddd08]
test al, al
jne 0x42b05f
mov dword [esp], 0x4ddd08
call fcn.004ceb90
test eax, eax
je 0x42b05f
mov dword [esp], ebx
mov ecx, 0x4e1980
call fcn.0042e89c
push ecx
mov dword [esp], 0x4cfa28
call fcn.004013f0
mov dword [esp], 0x4ddd08
call fcn.004cec60
mov ecx, 0x4e1980
call fcn.0042e86c
mov dword [esp], 0x4e1980
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42b07e
lea eax, [ebp - 0x5d]
call eax
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
call fcn.0042ba40
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
mov al, byte [0x4ddd18]
test al, al
jne 0x42b0da
mov dword [esp], 0x4ddd18
call fcn.004ceb90
test eax, eax
je 0x42b0da
mov dword [esp], ebx
mov ecx, 0x4e1a00
call fcn.0042e96c
push edx
mov dword [esp], 0x4cfa34
call fcn.004013f0
mov dword [esp], 0x4ddd18
call fcn.004cec60
mov ecx, 0x4e1a00
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e1a00
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x21b0d66a
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddd20]
test al, al
jne 0x42b144
mov dword [esp], 0x4ddd20
call fcn.004ceb90
test eax, eax
je 0x42b144
mov dword [esp], ebx
mov ecx, 0x4e1a20
call fcn.0042e89c
push eax
mov dword [esp], 0x4cfa38
call fcn.004013f0
mov dword [esp], 0x4ddd20
call fcn.004cec60
mov ecx, 0x4e1a20
call fcn.0042e86c
mov dword [esp], 0x4e1a20
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42b163
lea eax, [ebp - 0x5d]
call eax
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
mov byte [ebp - 0x48], 0x42
mov dword [ebp - 0x50], 0xc1eb1542
add eax, dword [edx + 0x28]
mov dword [ebp - 0x4c], 0x7c90ec48
mov dword [ebp - 0x6c], eax
mov al, byte [0x4ddd28]
test al, al
jne 0x42b1c0
mov dword [esp], 0x4ddd28
call fcn.004ceb90
test eax, eax
je 0x42b1c0
mov dword [esp], ebx
mov ecx, 0x4e1a60
call fcn.0042e96c
push eax
mov dword [esp], 0x4cfa44
call fcn.004013f0
mov dword [esp], 0x4ddd28
call fcn.004cec60
mov ecx, 0x4e1a60
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e1a60
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x35c0de6e
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddd30]
test al, al
jne 0x42b22a
mov dword [esp], 0x4ddd30
call fcn.004ceb90
test eax, eax
je 0x42b22a
mov dword [esp], ebx
mov ecx, 0x4e1a80
call fcn.0042e89c
push eax
mov dword [esp], 0x4cfa48
call fcn.004013f0
mov dword [esp], 0x4ddd30
call fcn.004cec60
mov ecx, 0x4e1a80
call fcn.0042e86c
mov dword [esp], 0x4e1a80
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42b249
lea eax, [ebp - 0x5d]
call eax
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
mov al, byte [0x4ddd38]
test al, al
jne 0x42b29a
mov dword [esp], 0x4ddd38
call fcn.004ceb90
test eax, eax
je 0x42b29a
mov dword [esp], ebx
mov ecx, 0x4e1ac0
call fcn.0042e96c
push eax
mov dword [esp], 0x4cfa54
call fcn.004013f0
mov dword [esp], 0x4ddd38
call fcn.004cec60
mov ecx, 0x4e1ac0
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e1ac0
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x49d0e672
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddd40]
test al, al
jne 0x42b304
mov dword [esp], 0x4ddd40
call fcn.004ceb90
test eax, eax
je 0x42b304
mov dword [esp], ebx
mov ecx, 0x4e1ae0
call fcn.0042e89c
push eax
mov dword [esp], 0x4cfa58
call fcn.004013f0
mov dword [esp], 0x4ddd40
call fcn.004cec60
mov ecx, 0x4e1ae0
call fcn.0042e86c
mov dword [esp], 0x4e1ae0
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42b323
lea eax, [ebp - 0x5d]
call eax
mov dword [ebp - 0x50], 0xc1eb1542
mov dword [ebp - 0x4c], 0x7c90ec48
mov byte [ebp - 0x48], 0x42
mov al, byte [0x4ddd48]
test al, al
jne 0x42b374
mov dword [esp], 0x4ddd48
call fcn.004ceb90
test eax, eax
je 0x42b374
mov dword [esp], ebx
mov ecx, 0x4e1b20
call fcn.0042e96c
push edi
mov dword [esp], 0x4cfa64
call fcn.004013f0
mov dword [esp], 0x4ddd48
call fcn.004cec60
mov ecx, 0x4e1b20
mov esi, 0x4dd1a0
mov edi, ebx
call fcn.0042e93c
mov dword [esp], 0x4e1b20
call fcn.00422510
mov ecx, 0xe
mov dword [ebp - 0x5d], 0x5de0ee76
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4ddd50]
test al, al
jne 0x42b3de
mov dword [esp], 0x4ddd50
call fcn.004ceb90
test eax, eax
je 0x42b3de
mov dword [esp], ebx
mov ecx, 0x4e1b40
call fcn.0042e89c
push esi
mov dword [esp], 0x4cfa68
call fcn.004013f0
mov dword [esp], 0x4ddd50
call fcn.004cec60
mov ecx, 0x4e1b40
call fcn.0042e86c
mov dword [esp], 0x4e1b40
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42b3fd
lea eax, [ebp - 0x5d]
call eax
mov dword [ebp - 0x50], 0x6e776f45
mov ecx, 0x11
lea esi, [ebp - 0x50]
mov ebx, dword [0x4de048]
mov dword [ebp - 0x4c], 0x62746d50
mov dword [ebp - 0x48], 0x625d6d69
mov dword [ebp - 0x44], 0x78616962
mov word [ebp - 0x40], 0x63
mov eax, ecx
mov edi, 0x11
xor edx, edx
div edi
xor byte [ebp + ecx - 0x61], dl
inc ecx
cmp ecx, 0x22
jne 0x42b42d
lea ecx, [ebp - 0x5d]
call fcn.0042e4fc
mov eax, ecx
call fcn.004284d4
mov dword [esp + 4], esi
mov dword [esp], eax
call ebx
xor ecx, ecx
xor ebx, ebx
push edx
push edx
mov dword [esp + 8], ecx
mov edx, dword [ebp - 0x6c]
mov dword [esp], ebx
mov dword [esp + 4], edx
call eax
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret