Function at 0x1004dc0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x2c
mov eax, dword [0x1007020]
push ebx
push ebp
xor ebp, ebp
xor edx, edx
and byte [esp + 0xb], dl
cmp eax, 6
push esi
push edi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x24], 1
mov dword [esp + 0x18], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x2c], ebp
je 0x1004e8e
mov esi, eax
mov eax, 0x1007024
mov ebx, dword [eax - 0x14]
test ebx, 0xff0000
je 0x1004e29
test byte [eax], 0x20
jne 0x1004e29
inc dword [esp + 0x20]
cmp dword [eax + 0x14], ebp
je 0x1004e29
inc dword [esp + 0x1c]
mov ecx, dword [eax]
mov edi, ecx
and edi, 0x20
je 0x1004e3c
mov dword [esp + 0x30], 1
xor ebp, ebp
cmp dword [eax + 0x14], ebp
je 0x1004e79
cmp edi, ebp
jne 0x1004e5d
test ecx, 0x100000
jne 0x1004e5d
cmp esi, 3
je 0x1004e79
cmp esi, 4
je 0x1004e79
inc dword [esp + 0x28]
jmp 0x1004e79
mov ecx, dword [eax + 0x1c]
and ecx, 0xffff
or dword [esp + 0x34], ecx
inc edx
cmp ebx, ebp
je 0x1004e79
mov cl, byte [eax - 0x11]
and cl, 0xf
mov byte [esp + 0x13], cl
mov esi, dword [eax + 0x3c]
add eax, 0x40
cmp esi, 6
jne 0x1004e0c
cmp dword [esp + 0x28], ebp
jne 0x1004e96
cmp edx, ebp
jne 0x1004e96
mov dword [esp + 0x18], 1
call fcn.010031de
cmp dword [esp + 0x18], ebp
je 0x1004ecd
movsx eax, word [0x10073f4]
push ebp
push eax
push ebp
push ebp
push 0x1f4
call fcn.01002f17
test eax, eax
jne 0x1004ecd
mov ax, word [0x10073d8]
push 0x1001330
push eax
call fcn.01002e86
pop ecx
pop ecx
xor eax, eax
mov ax, word [0x10073d8]
push 0x236
push eax
call fcn.01002e99
push dword [0x10073f8]
xor eax, eax
mov ax, word [0x10073d8]
mov ebx, 0x1001490
push ebx
push eax
call fcn.01002e86
xor edi, edi
add esp, 0x14
cmp dword [esp + 0x30], edi
mov ebp, eax
je 0x1004f62
cmp dword [esp + 0x18], edi
jne 0x1004f4b
cmp dword [0x1007020], 6
je 0x1004f4b
mov esi, 0x1007038
test byte [esi - 0x14], 0x20
je 0x1004f3e
cmp dword [esi], 0
je 0x1004f3e
push dword [esi - 0x24]
xor eax, eax
mov ax, word [0x10073d8]
push ebx
push eax
call fcn.01002e86
add esp, 0xc
add ebp, eax
inc edi
add esi, 0x40
cmp dword [esi - 0x18], 6
jne 0x1004f1b
test edi, edi
jne 0x1004f62
xor eax, eax
mov ax, word [0x10073d8]
push 0x230
push eax
call fcn.01002e99
pop ecx
pop ecx
add ebp, eax
cmp dword [esp + 0x20], 1
jle 0x1004f87
cmp dword [esp + 0x1c], 0
jne 0x1004f87
xor eax, eax
mov ax, word [0x10073d8]
push 0x10016fc
push eax
call fcn.01002e86
pop ecx
pop ecx
add ebp, eax
and dword [esp + 0x14], 0
cmp dword [0x1007020], 6
je 0x10050e4
mov esi, 0x1007024
cmp dword [esp + 0x14], 0
jne 0x1004fcb
test byte [esi], 0x30
jne 0x10050d7
test byte [esi - 0x12], 0xff
je 0x10050d7
cmp dword [esp + 0x1c], 0
jle 0x1004fe7
cmp dword [esi + 0x14], 0
je 0x10050d7
jmp 0x1004fe7
mov eax, dword [esi]
test al, 0x30
jne 0x10050d7
test byte [esi - 0x12], 0xff
jne 0x10050d7
test al, 1
jne 0x10050d7
xor eax, eax
cmp dword [esp + 0x24], eax
jne 0x1005010
cmp dword [esp + 0x20], eax
je 0x1005010
cmp dword [esp + 0x1c], eax
jne 0x1005010
mov ax, word [0x10073d8]
push 0x10016f4
push eax
call fcn.01002e86
pop ecx
pop ecx
add ebp, eax
mov ebx, dword [esi]
and dword [esp + 0x24], 0
test bl, 8
je 0x1005037
push dword [esi - 8]
xor eax, eax
mov ax, word [0x10073d8]
push 0x1001490
push eax
call fcn.01002e86
add esp, 0xc
jmp 0x1005094
lea eax, [esi - 0x1c]
push eax
call fcn.0100183f
test eax, eax
mov edx, 0x10012a4
jne 0x100504e
mov edx, 0x10011c4
test ebx, 0x10000
mov ecx, 0x100147c
jne 0x1005060
mov ecx, 0x10011c4
test bl, 0x20
mov eax, dword [0x10073e4]
jne 0x100506f
mov eax, dword [0x10073fc]
push dword [esi - 8]
mov ax, word [eax]
push edx
push dword [esi - 0xc]
movzx eax, ax
push ecx
push eax
xor eax, eax
mov ax, word [0x10073d8]
push 0x10016bc
push eax
call fcn.01002e86
add esp, 0x1c
add ebp, eax
movsx eax, word [0x10073f4]
sub eax, 0xf
cmp ebp, eax
jle 0x10050d7
xor eax, eax
mov ax, word [0x10073d8]
push 0x1001330
push eax
call fcn.01002e86
pop ecx
pop ecx
push 0x20
pop edi
xor eax, eax
mov ax, word [0x10073d8]
push 0x10012a4
push eax
call fcn.01002e86
dec edi
pop ecx
pop ecx
jne 0x10050bc
push 0x21
pop ebp
add esi, 0x40
cmp dword [esi - 4], 6
jne 0x1004f9e
cmp dword [esp + 0x14], 0
jne 0x100510e
cmp dword [esp + 0x20], 1
jle 0x100510e
cmp dword [esp + 0x1c], 0
jne 0x100510e
xor eax, eax
mov ax, word [0x10073d8]
push 0x10016b4
push eax
call fcn.01002e86
pop ecx
pop ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1004f8c
xor eax, eax
mov ax, word [0x10073d8]
push 0x232
push eax
call fcn.01002e99
xor edi, edi
cmp dword [esp + 0x38], edi
pop ecx
pop ecx
je 0x1005235
xor ebx, ebx
inc ebx
cmp dword [0x1007020], 6
je 0x1005235
mov esi, 0x1007018
mov eax, dword [esi + 0xc]
test al, 0x10
je 0x1005163
cmp dword [esi + 0x20], edi
je 0x100520f
test al, 0x20
je 0x100520f
cmp dword [esp + 0x18], edi
jne 0x100517a
cmp dword [esi + 0x20], edi
je 0x100520f
cmp ebx, edi
je 0x1005195
xor eax, eax
mov ax, word [0x10073d8]
push 0x231
push eax
call fcn.01002e99
pop ecx
pop ecx
xor ebx, ebx
mov eax, dword [esi]
cmp eax, edi
je 0x10051ab
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
je 0x10051ab
mov eax, dword [esi]
jmp 0x10051ae
mov eax, dword [esi - 4]
test word [esi + 0xc], 0x110
mov ecx, dword [0x10073ec]
jne 0x10051c2
mov ecx, dword [0x10073d8]
push dword [esi + 4]
push eax
push dword [0x10073e4]
push 0x100168c
push ecx
call fcn.01002e86
mov edi, eax
add esp, 0x14
cmp edi, 0x20
jle 0x10051f8
xor eax, eax
mov ax, word [0x10073d8]
push 0x10012a4
push eax
call fcn.01002e86
pop ecx
pop ecx
add edi, eax
movsx eax, word [0x10073f4]
push 1
push eax
push 0x20
push edi
push dword [esi - 0x10]
call fcn.01002f17
xor edi, edi
add esi, 0x40
cmp dword [esi + 8], 6
jne 0x1005153
cmp ebx, edi
jne 0x1005235
xor eax, eax
mov ax, word [0x10073d8]
push 0x1001330
push eax
call fcn.01002e86
pop ecx
pop ecx
mov dword [esp + 0x14], edi
cmp dword [0x1007020], 6
mov dword [esp + 0x24], 1
je 0x100543b
mov ebp, 0x1007020
mov esi, 0x1007024
cmp dword [esp + 0x14], 0
mov eax, dword [esi]
jne 0x100530e
test al, 8
je 0x100542b
test eax, 0x100020
jne 0x100542b
cmp dword [esp + 0x18], 0
jne 0x1005289
cmp dword [ebp], 3
je 0x100542b
test al, 0x10
je 0x1005297
cmp dword [esi + 0x14], 0
je 0x100542b
cmp dword [esp + 0x18], 0
jne 0x10052c0
cmp dword [esi + 0x14], 0
jne 0x10052c0
mov eax, dword [esi + 0x1c]
and eax, dword [esp + 0x34]
test ax, 0xffff
je 0x100542b
cmp dword [esp + 0x28], 1
jge 0x100542b
mov eax, dword [esi - 0x14]
shr eax, 0x1c
and al, byte [esp + 0x13]
test al, 0xf
jne 0x100542b
xor edi, edi
cmp dword [esp + 0x24], edi
je 0x100533c
mov eax, dword [esp + 0x14]
sub eax, edi
je 0x100531b
dec eax
jne 0x1005338
cmp dword [esp + 0x38], edi
mov eax, 0x1001330
jne 0x10052f5
mov eax, 0x10011c4
push eax
xor eax, eax
mov ax, word [0x10073d8]
push 0x234
push eax
call fcn.01002e99
add esp, 0xc
jmp 0x1005338
test al, 8
jne 0x100542b
jmp 0x100526d
xor eax, eax
mov ax, word [0x10073d8]
push 0x233
push eax
call fcn.01002e99
pop ecx
pop ecx
mov dword [esp + 0x38], 1
mov dword [esp + 0x24], edi
mov eax, dword [esi - 0xc]
cmp eax, edi
je 0x1005354
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
je 0x1005354
xor ebx, ebx
inc ebx
jmp 0x1005356
xor ebx, ebx
mov eax, dword [esi]
test al, 8
je 0x100537f
test ax, 0x110
mov eax, dword [0x10073ec]
jne 0x100536c
mov eax, dword [0x10073d8]
push dword [esi - 8]
push 0x1001678
push eax
call fcn.01002e86
add esp, 0xc
jmp 0x10053c9
cmp ebx, edi
je 0x1005388
mov ecx, dword [esi - 0xc]
jmp 0x100538b
mov ecx, dword [esi - 0x10]
test eax, 0x10000
mov edx, 0x100147c
jne 0x100539c
mov edx, 0x10011c4
test ax, 0x110
mov eax, dword [0x10073ec]
jne 0x10053ac
mov eax, dword [0x10073d8]
push dword [esi - 8]
push ecx
mov ecx, dword [0x10073fc]
movzx ecx, word [ecx]
push edx
push ecx
push 0x1001644
push eax
call fcn.01002e86
add esp, 0x18
mov edi, eax
cmp edi, 0x20
jle 0x10053e7
xor eax, eax
mov ax, word [0x10073d8]
push 0x100163c
push eax
call fcn.01002e86
pop ecx
pop ecx
add edi, eax
test byte [esi + 2], 1
je 0x1005404
cmp dword [esp + 0x2c], 0
jne 0x1005404
test ebx, ebx
je 0x10053fd
mov eax, dword [esi - 0xc]
jmp 0x1005400
mov eax, dword [esi - 0x10]
mov dword [esp + 0x2c], eax
movsx eax, word [0x10073f4]
push 1
push eax
push 0x20
push edi
push dword [esi - 0x1c]
call fcn.01002f17
cmp dword [esp + 0x18], 0
jne 0x100542b
cmp dword [ebp], 7
jne 0x100542b
call fcn.01004ab6
add esi, 0x40
lea ebp, [esi - 4]
cmp dword [ebp], 6
jne 0x1005258
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1005239
mov eax, dword [esp + 0x2c]
xor ebx, ebx
cmp eax, ebx
je 0x100546c
push eax
push eax
xor eax, eax
mov ax, word [0x10073d8]
push 0x23d
push eax
call fcn.01002e99
add esp, 0x10
cmp dword [esp + 0x18], ebx
je 0x1005487
xor eax, eax
mov ax, word [0x10073d8]
push 0x23e
push eax
call fcn.01002e99
pop ecx
pop ecx
xor edi, edi
inc edi
cmp dword [0x1007020], 6
je 0x10054e8
mov esi, 0x1007024
cmp dword [esp + 0x18], ebx
jne 0x10054a3
cmp dword [esi + 0x14], ebx
jmp 0x10054af
cmp dword [esp + 0x30], ebx
je 0x10054b1
test dword [esi], 0x100020
je 0x10054df
test byte [esi], 0x80
je 0x10054df
cmp edi, ebx
je 0x10054d1
xor eax, eax
mov ax, word [0x10073d8]
push 0x242
push eax
call fcn.01002e99
pop ecx
pop ecx
xor edi, edi
push ebx
push 0x50
push 2
push ebx
push dword [esi - 0x18]
call fcn.01002f17
add esi, 0x40
cmp dword [esi - 4], 6
jne 0x1005498
call fcn.01001b49
push ebx
call dword [sym.imp.msvcrt.dll_exit]
pop edi
pop esi
pop ebp
pop ebx