Function at 0x43c3d0
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x244
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x4e8024]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
xor ecx, ecx
dec ecx
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
cmp byte [eax + 0xb], 0
js 0x43c40e
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
movsd xmm0, qword [eax]
movsd qword [esi], xmm0
jmp 0x43c41a
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.00452820
movzx eax, byte [esi + 0xb]
test al, al
mov edx, dword [esi + 4]
mov esi, eax
cmovs esi, edx
test esi, esi
je 0x43cadd
cmp esi, 1
je 0x43c494
test al, al
mov edi, dword [ebp + 8]
mov ecx, dword [edi]
cmovs edi, ecx
movzx ebx, word [edi]
cmp bx, 0x27
je 0x43c458
cmp bx, 0x22
jne 0x43c494
cmp word [edi + esi*2 - 2], 0x22
je 0x43c460
jmp 0x43c494
cmp word [edi + esi*2 - 2], 0x27
jne 0x43c494
test al, al
js 0x43c475
lea edx, [eax - 1]
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xb], dl
lea eax, [ecx + eax*2]
add eax, 0xfffffffe
jmp 0x43c486
lea eax, [edx - 1]
mov esi, ecx
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], eax
lea eax, [esi + edx*2]
add eax, 0xfffffffe
mov word [eax], 0
push 1
push 0
call fcn.00452d90
push str.shell32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
xor eax, eax
dec eax
mov dword [ebp - 0x240], eax
test esi, esi
je 0x43c4c0
push 0x4dda72
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x250], esi
xor edi, edi
mov esi, dword [ebp + 8]
mov eax, dword [edi*8 + 0x4ddaa4]
mov dword [ebp - 0x22c], eax
push eax
call fcn.00488da9
add esp, 4
movzx ebx, byte [esi + 0xb]
mov ecx, esi
test bl, bl
jns 0x43c4ed
mov ecx, dword [esi]
test eax, eax
mov dword [ebp - 0x230], edi
je 0x43c5b7
mov dword [ebp - 0x238], ecx
test bl, bl
jns 0x43c508
mov ebx, dword [esi + 4]
cmp ebx, eax
jl 0x43c802
mov edx, dword [ebp - 0x238]
lea ecx, [edx + ebx*2]
mov dword [ebp - 0x234], ecx
mov ecx, dword [ebp - 0x22c]
movzx edi, word [ecx]
lea ecx, [edx + ebx*2]
add ecx, 0xfffffffe
mov dword [ebp - 0x23c], ecx
mov ecx, ebx
sub ecx, eax
inc ecx
je 0x43c802
inc ebx
xor ecx, ecx
cmp word [edx + ecx], di
je 0x43c555
add ecx, 2
dec ebx
cmp eax, ebx
jne 0x43c542
jmp 0x43c802
mov ebx, edx
add ebx, ecx
je 0x43c802
mov dword [ebp - 0x244], edx
xor esi, esi
inc esi
mov word [ebp - 0x248], di
mov edx, edi
mov edi, dword [ebp - 0x22c]
cmp dx, word [edi + esi*2 - 2]
jne 0x43c58d
cmp eax, esi
je 0x43c75a
movzx edx, word [ebx + esi*2]
inc esi
jmp 0x43c571
mov ebx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x244]
sub ebx, edx
add edx, ecx
add edx, 2
sub ebx, ecx
sar ebx, 1
cmp ebx, eax
mov esi, dword [ebp + 8]
movzx edi, word [ebp - 0x248]
jge 0x43c534
jmp 0x43c802
mov dword [ebp - 0x244], 0
push dword [ebp - 0x22c]
call fcn.00488da9
add esp, 4
mov dword [ebp - 0x22c], eax
push 0x208
push 0xff
lea edi, [ebp - 0x218]
push edi
call fcn.00472db0
add esp, 0xc
mov eax, dword [ebp - 0x230]
mov esi, dword [eax*8 + 0x4ddaa8]
mov ecx, dword [ebp - 0x240]
call dword [section..00cfg]
xor eax, eax
push eax
push esi
push edi
push eax
call ecx
test eax, eax
jne 0x43c61c
mov word [ebp - 0x218], 0
xor eax, eax
dec eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
push edi
call fcn.00488da9
add esp, 4
cmp eax, 0x7ffffff0
jae 0x43d2dd
mov ebx, eax
cmp eax, 5
jae 0x43c67d
mov byte [ebp - 0x219], bl
cmp ebx, 3
jne 0x43c78d
movzx eax, word [ebp - 0x214]
mov word [ebp - 0x220], ax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x224], eax
lea edi, [ebp - 0x224]
jmp 0x43c6be
lea esi, [ebx + 8]
and esi, 0xfffffff8
lea eax, [esi + esi]
push eax
call fcn.0046ecad
add esp, 4
mov edi, eax
mov dword [ebp - 0x224], eax
or esi, 0x80000000
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x220], ebx
mov eax, ebx
add eax, ebx
push eax
lea eax, [ebp - 0x218]
push eax
push edi
call fcn.004722b0
add esp, 0xc
mov word [edi + ebx*2], 0
movzx eax, byte [ebp - 0x219]
test al, al
mov ecx, dword [ebp - 0x220]
mov esi, eax
cmovs esi, ecx
test esi, esi
je 0x43c7b4
test al, al
mov edx, dword [ebp - 0x224]
lea edi, [ebp - 0x224]
cmovs edi, edx
cmp word [edi + esi*2 - 2], 0x5c
jne 0x43c7b4
mov dword [ebp - 0x238], edx
mov esi, dword [ebp + 8]
movzx ebx, byte [esi + 0xb]
mov edi, ebx
test bl, bl
jns 0x43c713
mov edi, dword [esi + 4]
mov esi, dword [ebp - 0x244]
mov edx, dword [ebp - 0x22c]
add esi, edx
cmp edi, esi
mov edx, dword [ebp - 0x238]
jbe 0x43c7b4
mov edi, dword [ebp + 8]
test bl, bl
jns 0x43c73b
mov edi, dword [ebp + 8]
mov edi, dword [edi]
cmp word [edi + esi*2], 0x5c
jne 0x43c7b4
test al, al
js 0x43c7a0
lea ecx, [eax - 1]
mov byte [ebp - 0x219], cl
lea eax, [eax*2 - 0x226]
add eax, ebp
jmp 0x43c7af
cmp ebx, dword [ebp - 0x234]
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x244]
je 0x43c802
sub eax, dword [ebp - 0x238]
add eax, ecx
cmp eax, 0xfffffffe
je 0x43c802
sar eax, 1
mov dword [ebp - 0x244], eax
jmp 0x43c5c1
lea edi, [ebp - 0x224]
test ebx, ebx
jne 0x43c6a9
jmp 0x43c6be
lea eax, [ecx - 1]
mov dword [ebp - 0x220], eax
lea eax, [edx + ecx*2]
add eax, 0xfffffffe
mov word [eax], 0
movzx eax, byte [ebp - 0x219]
test al, al
cmovs eax, dword [ebp - 0x220]
mov edx, dword [ebp - 0x224]
lea ecx, [ebp - 0x224]
cmovns edx, ecx
mov esi, dword [ebp + 8]
mov ecx, esi
push eax
push edx
push dword [ebp - 0x22c]
push dword [ebp - 0x244]
call fcn.00423140
cmp byte [ebp - 0x219], 0
jns 0x43c802
push dword [ebp - 0x224]
call fcn.0046ecdd
add esp, 4
mov edi, dword [ebp - 0x230]
inc edi
cmp edi, 7
jne 0x43c4cb
push str.advapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [ebp - 0x244], eax
je 0x43c835
push 0x4ddade
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x43c838
xor eax, eax
dec eax
mov bl, byte [esi + 0xb]
test bl, bl
mov ecx, dword [esi]
mov edi, dword [esi + 4]
mov edx, esi
mov dword [ebp - 0x22c], ecx
cmovs edx, ecx
movzx esi, bl
mov ecx, esi
mov dword [ebp - 0x230], edi
cmovs ecx, edi
cmp ecx, 0xc
jl 0x43c917
mov byte [ebp - 0x238], bl
mov dword [ebp - 0x23c], eax
lea eax, [edx + ecx*2]
mov dword [ebp - 0x240], eax
lea eax, [edx + ecx*2]
add eax, 0xfffffffe
add ecx, ecx
mov edi, edx
shr ecx, 1
add ecx, 0xfffffff5
xor ebx, ebx
cmp word [edi + ebx], 0x24
je 0x43c899
add ebx, 2
dec ecx
jne 0x43c88a
jmp 0x43c911
mov ecx, eax
mov eax, edi
add eax, ebx
je 0x43c911
cmp word [edi + ebx + 2], 0x7b
jne 0x43c8fd
cmp word [edi + ebx + 4], 0x75
jne 0x43c8fd
cmp word [edi + ebx + 6], 0x73
jne 0x43c8fd
cmp word [edi + ebx + 8], 0x65
jne 0x43c8fd
cmp word [edi + ebx + 0xa], 0x72
jne 0x43c8fd
cmp word [edi + ebx + 0xc], 0x5f
jne 0x43c8fd
cmp word [edi + ebx + 0xe], 0x6e
jne 0x43c8fd
cmp word [edi + ebx + 0x10], 0x61
jne 0x43c8fd
cmp word [edi + ebx + 0x12], 0x6d
jne 0x43c8fd
cmp word [edi + ebx + 0x14], 0x65
jne 0x43c8fd
cmp word [edi + ebx + 0x16], 0x7d
je 0x43cc75
mov eax, ecx
sub ecx, edi
add edi, ebx
add edi, 2
sub ecx, ebx
cmp ecx, 0x18
jge 0x43c883
mov bl, byte [ebp - 0x238]
test bl, bl
mov eax, dword [ebp - 0x22c]
cmovns eax, dword [ebp + 8]
cmovs esi, dword [ebp - 0x230]
cmp esi, 0xf
jge 0x43caf5
push str.wtsapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
xor eax, eax
dec eax
mov dword [ebp - 0x240], eax
test esi, esi
je 0x43c959
push 0x4ddb08
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x23c], eax
push str.wtsapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test eax, eax
mov ebx, dword [ebp + 8]
je 0x43c985
push 0x4ddb40
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x230], esi
mov dl, byte [ebx + 0xb]
test dl, dl
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
mov dword [ebp - 0x22c], eax
cmovs ebx, eax
movzx ecx, dl
mov eax, ecx
cmovs eax, edi
cmp eax, 0xe
jl 0x43ca81
mov dword [ebp - 0x234], edi
lea esi, [ebx + eax*2]
mov dword [ebp - 0x24c], esi
lea esi, [ebx + eax*2]
add esi, 0xfffffffe
mov dword [ebp - 0x248], esi
add eax, eax
mov esi, ebx
shr eax, 1
add eax, 0xfffffff3
xor edi, edi
cmp word [esi + edi], 0x24
je 0x43c9ed
add edi, 2
dec eax
jne 0x43c9db
jmp 0x43ca7b
mov eax, esi
add eax, edi
je 0x43ca7b
cmp word [esi + edi + 2], 0x7b
jne 0x43ca63
cmp word [esi + edi + 4], 0x63
jne 0x43ca63
cmp word [esi + edi + 6], 0x6c
jne 0x43ca63
cmp word [esi + edi + 8], 0x69
jne 0x43ca63
cmp word [esi + edi + 0xa], 0x65
jne 0x43ca63
cmp word [esi + edi + 0xc], 0x6e
jne 0x43ca63
cmp word [esi + edi + 0xe], 0x74
jne 0x43ca63
cmp word [esi + edi + 0x10], 0x5f
jne 0x43ca63
cmp word [esi + edi + 0x12], 0x6e
jne 0x43ca63
cmp word [esi + edi + 0x14], 0x61
jne 0x43ca63
cmp word [esi + edi + 0x16], 0x6d
jne 0x43ca63
cmp word [esi + edi + 0x18], 0x65
jne 0x43ca63
cmp word [esi + edi + 0x1a], 0x7d
je 0x43cd50
mov eax, dword [ebp - 0x248]
sub eax, esi
add esi, edi
add esi, 2
sub eax, edi
cmp eax, 0x1c
jge 0x43c9d4
mov edi, dword [ebp - 0x234]
test dl, dl
mov eax, dword [ebp - 0x22c]
cmovns eax, dword [ebp + 8]
cmovs ecx, edi
cmp ecx, 0xf
jge 0x43cbb8
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x43caaa
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x230]
test eax, eax
mov esi, dword [ebp - 0x250]
je 0x43cac1
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x244]
test eax, eax
je 0x43cad2
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
je 0x43cadd
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046f8c3
mov eax, dword [ebp + 8]
add esp, 0x244
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [eax + esi*2]
mov dword [ebp - 0x22c], ecx
lea edx, [eax + esi*2]
add edx, 0xfffffffe
add esi, esi
mov edi, eax
shr esi, 1
add esi, 0xfffffff2
xor ebx, ebx
cmp word [edi + ebx], 0x24
je 0x43cb21
add ebx, 2
dec esi
jne 0x43cb0f
jmp 0x43c933
mov ecx, edi
add ecx, ebx
je 0x43c933
cmp word [edi + ebx + 2], 0x7b
jne 0x43cb9f
cmp word [edi + ebx + 4], 0x6d
jne 0x43cb9f
cmp word [edi + ebx + 6], 0x61
jne 0x43cb9f
cmp word [edi + ebx + 8], 0x63
jne 0x43cb9f
cmp word [edi + ebx + 0xa], 0x68
jne 0x43cb9f
cmp word [edi + ebx + 0xc], 0x69
jne 0x43cb9f
cmp word [edi + ebx + 0xe], 0x6e
jne 0x43cb9f
cmp word [edi + ebx + 0x10], 0x65
jne 0x43cb9f
cmp word [edi + ebx + 0x12], 0x5f
jne 0x43cb9f
cmp word [edi + ebx + 0x14], 0x6e
jne 0x43cb9f
cmp word [edi + ebx + 0x16], 0x61
jne 0x43cb9f
cmp word [edi + ebx + 0x18], 0x6d
jne 0x43cb9f
cmp word [edi + ebx + 0x1a], 0x65
jne 0x43cb9f
cmp word [edi + ebx + 0x1c], 0x7d
je 0x43ceea
mov esi, edx
sub esi, edi
add edi, ebx
add edi, 2
sub esi, ebx
cmp esi, 0x1e
jge 0x43cb08
jmp 0x43c933
lea edx, [eax + ecx*2]
lea edi, [eax + ecx*2]
add edi, 0xfffffffe
add ecx, ecx
mov esi, eax
shr ecx, 1
add ecx, 0xfffffff2
xor ebx, ebx
cmp word [esi + ebx], 0x24
je 0x43cbde
add ebx, 2
dec ecx
jne 0x43cbcc
jmp 0x43ca99
mov ecx, esi
add ecx, ebx
je 0x43ca99
cmp word [esi + ebx + 2], 0x7b
jne 0x43cc5c
cmp word [esi + ebx + 4], 0x73
jne 0x43cc5c
cmp word [esi + ebx + 6], 0x65
jne 0x43cc5c
cmp word [esi + ebx + 8], 0x73
jne 0x43cc5c
cmp word [esi + ebx + 0xa], 0x73
jne 0x43cc5c
cmp word [esi + ebx + 0xc], 0x69
jne 0x43cc5c
cmp word [esi + ebx + 0xe], 0x6f
jne 0x43cc5c
cmp word [esi + ebx + 0x10], 0x6e
jne 0x43cc5c
cmp word [esi + ebx + 0x12], 0x5f
jne 0x43cc5c
cmp word [esi + ebx + 0x14], 0x6e
jne 0x43cc5c
cmp word [esi + ebx + 0x16], 0x61
jne 0x43cc5c
cmp word [esi + ebx + 0x18], 0x6d
jne 0x43cc5c
cmp word [esi + ebx + 0x1a], 0x65
jne 0x43cc5c
cmp word [esi + ebx + 0x1c], 0x7d
je 0x43cfb0
mov ecx, edi
sub ecx, esi
add esi, ebx
add esi, 2
sub ecx, ebx
cmp ecx, 0x1e
jge 0x43cbc5
jmp 0x43ca99
cmp eax, dword [ebp - 0x240]
je 0x43c911
sub edi, edx
add edi, ebx
cmp edi, 0xfffffffe
mov bl, byte [ebp - 0x238]
je 0x43c917
xor ebx, ebx
lea esi, [ebp - 0x224]
mov dword [esi], ebx
mov ecx, dword [ebp - 0x23c]
call dword [section..00cfg]
push esi
push ebx
call ecx
mov eax, dword [esi]
test eax, eax
je 0x43cecb
xor ecx, ecx
dec ecx
add eax, eax
cmovb eax, ecx
push eax
call fcn.0046ed13
add esp, 4
mov ebx, eax
mov ecx, dword [ebp - 0x23c]
call dword [section..00cfg]
push esi
push ebx
call ecx
xor eax, eax
dec eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x22c], ebx
push ebx
call fcn.00488da9
add esp, 4
cmp eax, 0x7ffffff0
jae 0x43d2e8
mov ebx, eax
sar edi, 1
cmp eax, 5
jae 0x43ce1e
mov byte [ebp - 0x20d], bl
cmp ebx, 3
jne 0x43d074
mov ecx, dword [ebp - 0x22c]
movzx eax, word [ecx + 4]
mov word [ebp - 0x214], ax
mov eax, dword [ecx]
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x230], eax
jmp 0x43ce67
cmp eax, dword [ebp - 0x24c]
je 0x43ca7b
sub esi, ebx
add esi, edi
cmp esi, 0xfffffffe
mov edi, dword [ebp - 0x234]
je 0x43ca81
xor edi, edi
lea eax, [ebp - 0x224]
mov dword [eax], edi
lea ebx, [ebp - 0x228]
mov dword [ebx], edi
mov ecx, dword [ebp - 0x23c]
call dword [section..00cfg]
push ebx
lea eax, [ebp - 0x224]
push eax
push 0xa
push 0xffffffffffffffff
push edi
call ecx
test eax, eax
je 0x43d139
xor eax, eax
dec eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x234], eax
push eax
call fcn.00488da9
add esp, 4
cmp eax, 0x7ffffff0
jae 0x43d2e8
mov edi, eax
sar esi, 1
cmp edi, 5
jae 0x43d08d
lea ecx, [ebp - 0x218]
mov eax, edi
mov dword [ebp - 0x22c], ecx
mov byte [ecx + 0xb], al
cmp edi, 3
jne 0x43d2b2
mov ecx, dword [ebp - 0x234]
movzx eax, word [ecx + 4]
mov word [ebp - 0x214], ax
mov eax, dword [ecx]
mov dword [ebp - 0x218], eax
jmp 0x43d0e2
lea esi, [ebx + 8]
and esi, 0xfffffff8
lea eax, [esi + esi]
push eax
call fcn.0046ecad
add esp, 4
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x218], eax
or esi, 0x80000000
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x214], ebx
mov eax, ebx
add eax, ebx
push eax
push dword [ebp - 0x22c]
push dword [ebp - 0x230]
call fcn.004722b0
add esp, 0xc
mov eax, dword [ebp - 0x230]
mov word [eax + ebx*2], 0
movzx eax, byte [ebp - 0x20d]
test al, al
cmovs eax, dword [ebp - 0x214]
lea edx, [ebp - 0x218]
cmovs edx, dword [ebp - 0x218]
mov ecx, dword [ebp + 8]
push eax
push edx
push 0xc
push edi
call fcn.00423140
cmp byte [ebp - 0x20d], 0
jns 0x43ceb4
push dword [ebp - 0x218]
call fcn.0046ecdd
add esp, 4
cmp dword [ebp - 0x22c], 0
je 0x43cecb
push dword [ebp - 0x22c]
call fcn.0046ed1c
add esp, 4
mov eax, dword [ebp + 8]
mov bl, byte [eax + 0xb]
mov ecx, dword [eax]
mov dword [ebp - 0x22c], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x230], eax
movzx esi, bl
jmp 0x43c917
cmp ecx, dword [ebp - 0x22c]
je 0x43c933
sub edi, eax
add edi, ebx
cmp edi, 0xfffffffe
je 0x43c933
xor eax, eax
lea esi, [ebp - 0x224]
mov dword [esi], eax
push esi
push eax
push 5
call dword [sym.imp.KERNEL32.dll_GetComputerNameExW]
mov eax, dword [esi]
test eax, eax
je 0x43c933
xor ecx, ecx
dec ecx
add eax, eax
cmovb eax, ecx
push eax
call fcn.0046ed13
add esp, 4
mov ebx, eax
push esi
push eax
push 5
call dword [sym.imp.KERNEL32.dll_GetComputerNameExW]
xor eax, eax
dec eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x22c], ebx
push ebx
call fcn.00488da9
add esp, 4
cmp eax, 0x7ffffff0
jae 0x43d2e8
mov ebx, eax
sar edi, 1
cmp eax, 5
jae 0x43d152
lea eax, [ebp - 0x218]
mov dword [ebp - 0x230], eax
mov byte [eax + 0xb], bl
cmp ebx, 3
jne 0x43d2c1
mov ecx, dword [ebp - 0x22c]
movzx eax, word [ecx + 4]
mov word [ebp - 0x214], ax
mov eax, dword [ecx]
mov dword [ebp - 0x218], eax
jmp 0x43d19b
cmp ecx, edx
je 0x43ca99
sub esi, eax
add esi, ebx
cmp esi, 0xfffffffe
je 0x43ca99
xor edi, edi
lea eax, [ebp - 0x224]
mov dword [eax], edi
lea ebx, [ebp - 0x228]
mov dword [ebx], edi
mov ecx, dword [ebp - 0x23c]
call dword [section..00cfg]
push ebx
lea eax, [ebp - 0x224]
push eax
push 6
push 0xffffffffffffffff
push edi
call ecx
test eax, eax
je 0x43ca99
xor eax, eax
dec eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x23c], eax
push eax
call fcn.00488da9
add esp, 4
cmp eax, 0x7ffffff0
jae 0x43d2e8
mov edi, eax
sar esi, 1
cmp edi, 5
jae 0x43d1fd
lea ecx, [ebp - 0x218]
mov eax, edi
mov dword [ebp - 0x22c], ecx
mov byte [ecx + 0xb], al
cmp edi, 3
jne 0x43d2ce
mov ecx, dword [ebp - 0x23c]
movzx eax, word [ecx + 4]
mov word [ebp - 0x214], ax
mov eax, dword [ecx]
mov dword [ebp - 0x218], eax
jmp 0x43d252
lea eax, [ebp - 0x218]
mov dword [ebp - 0x230], eax
test ebx, ebx
jne 0x43ce4e
jmp 0x43ce67
mov dword [ebp - 0x248], edi
lea ebx, [edi + 8]
and ebx, 0xfffffff8
lea eax, [ebx + ebx]
push eax
call fcn.0046ecad
add esp, 4
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x218], eax
or ebx, 0x80000000
mov dword [ebp - 0x210], ebx
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x214], eax
mov eax, edi
add eax, edi
push eax
push dword [ebp - 0x234]
push dword [ebp - 0x22c]
call fcn.004722b0
add esp, 0xc
mov eax, dword [ebp - 0x22c]
mov word [eax + edi*2], 0
lea edi, [ebp - 0x218]
movzx eax, byte [edi + 0xb]
test al, al
cmovs eax, dword [edi + 4]
mov edx, dword [edi]
cmovns edx, edi
mov ecx, dword [ebp + 8]
push eax
push edx
push 0xe
push esi
call fcn.00423140
mov esi, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x240]
call dword [section..00cfg]
push esi
call ecx
cmp byte [edi + 0xb], 0
jns 0x43d139
push dword [ebp - 0x218]
call fcn.0046ecdd
add esp, 4
mov eax, dword [ebp + 8]
mov dl, byte [eax + 0xb]
mov ecx, dword [eax]
mov dword [ebp - 0x22c], ecx
mov edi, dword [eax + 4]
movzx ecx, dl
jmp 0x43ca81
lea esi, [ebx + 8]
and esi, 0xfffffff8
lea eax, [esi + esi]
push eax
call fcn.0046ecad
add esp, 4
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x218], eax
or esi, 0x80000000
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x214], ebx
mov eax, ebx
add eax, ebx
push eax
push dword [ebp - 0x22c]
push dword [ebp - 0x230]
call fcn.004722b0
add esp, 0xc
mov eax, dword [ebp - 0x230]
mov word [eax + ebx*2], 0
lea esi, [ebp - 0x218]
movzx eax, byte [esi + 0xb]
test al, al
cmovs eax, dword [esi + 4]
mov edx, dword [esi]
cmovns edx, esi
mov ecx, dword [ebp + 8]
push eax
push edx
push 0xf
push edi
call fcn.00423140
cmp byte [esi + 0xb], 0
jns 0x43d1dd
push dword [ebp - 0x218]
call fcn.0046ecdd
add esp, 4
cmp dword [ebp - 0x22c], 0
je 0x43c933
push dword [ebp - 0x22c]
call fcn.0046ed1c
add esp, 4
jmp 0x43c933
mov dword [ebp - 0x234], edi
lea ebx, [edi + 8]
and ebx, 0xfffffff8
lea eax, [ebx + ebx]
push eax
call fcn.0046ecad
add esp, 4
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x218], eax
or ebx, 0x80000000
mov dword [ebp - 0x210], ebx
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x214], eax
mov eax, edi
add eax, edi
push eax
push dword [ebp - 0x23c]
push dword [ebp - 0x22c]
call fcn.004722b0
add esp, 0xc
mov eax, dword [ebp - 0x22c]
mov word [eax + edi*2], 0
lea edi, [ebp - 0x218]
movzx eax, byte [edi + 0xb]
test al, al
cmovs eax, dword [edi + 4]
mov edx, dword [edi]
cmovns edx, edi
mov ecx, dword [ebp + 8]
push eax
push edx
push 0xf
push esi
call fcn.00423140
mov esi, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x240]
call dword [section..00cfg]
push esi
call ecx
cmp byte [edi + 0xb], 0
jns 0x43ca99
push dword [ebp - 0x218]
call fcn.0046ecdd
add esp, 4
jmp 0x43ca99
mov eax, edi
test edi, edi
jne 0x43d0c9
jmp 0x43d0e2
test ebx, ebx
jne 0x43d182
jmp 0x43d19b
mov eax, edi
test edi, edi
jne 0x43d239
jmp 0x43d252
lea ecx, [ebp - 0x224]
call fcn.004b4130
lea ecx, [ebp - 0x218]
call fcn.004b4130
int3