Function at 0x100043c1
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x188
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
mov dword [ebp - 4], ebx
movzx eax, byte [esi + 4]
cmp eax, 0x5d
jg 0x10004abf
je 0x10004b34
cmp eax, 0x30
jg 0x10004644
je 0x10004601
dec eax
je 0x100044ef
dec eax
je 0x100044e1
sub eax, 0xb
je 0x100044bc
dec eax
dec eax
je 0x1000445d
sub eax, 0x1c
je 0x10004440
sub eax, 3
jne 0x10004e43
lea eax, [ebp - 4]
mov dword [ebp - 4], 5
push eax
push esi
call fcn.10007cc0
pop ecx
test al, al
pop ecx
je 0x10004e43
jmp 0x10004608
lea eax, [ebp - 4]
mov dword [ebp - 4], 6
push eax
push esi
call fcn.10007ce0
pop ecx
mov dword [0x1007c374], eax
pop ecx
jmp 0x10004e43
lea eax, [ebp - 4]
mov dword [ebp - 4], 5
push eax
push esi
call fcn.10007cc0
pop ecx
cmp al, 1
pop ecx
jne 0x10004e43
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov dword [0x1007c2b8], eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007d00
mov dword [0x1007bf88], eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov dword [0x1007c2b0], eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
add esp, 0x20
mov dword [0x1007c2b4], eax
jmp 0x10004e43
push ebx
push ebx
push ebx
push 0x10001293
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, 0xffffffff
je 0x10004e43
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10004e43
push dword [ebp + 0xc]
push esi
call fcn.10003ab7
jmp 0x100049a0
lea eax, [ebp - 4]
mov dword [ebp - 4], 5
push eax
push esi
call fcn.10007cc0
pop ecx
cmp al, 2
pop ecx
je 0x10004e43
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007d00
mov dword [ebp + 8], eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
movzx edi, al
lea eax, [ebp - 4]
push eax
push edi
lea eax, [ebp - 0x88]
push esi
push eax
call fcn.10007d20
and byte [ebp + edi - 0x88], 0
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov edi, eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov ebx, eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007d00
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007d00
add esp, 0x40
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
lea eax, [ebp - 4]
push eax
push 0xa
lea eax, [ebp - 0x88]
push esi
push eax
call fcn.10007d20
add esp, 0x18
mov dword [ebp + 0xc], 0xa
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
dec dword [ebp + 0xc]
pop ecx
pop ecx
jne 0x10004594
mov eax, dword [ebp + 8]
cmp eax, dword [0x1007bf88]
jne 0x10004e43
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov dword [0x1007c308], eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov dword [0x1007c30c], eax
lea eax, [ebp - 4]
push eax
push esi
mov dword [0x1007c2b0], edi
mov dword [0x1007c2b4], ebx
call fcn.10007cc0
lea eax, [ebp - 4]
push eax
push 8
push esi
push 0x1007bf8c
call fcn.10007d20
add esp, 0x28
jmp 0x10004e43
mov dword [ebp - 4], 5
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
movzx edi, al
lea eax, [ebp - 4]
push eax
mov eax, edi
imul eax, eax, 0x17
push 0x16
add eax, 0x10082841
push esi
push eax
call fcn.10007d20
push edi
call fcn.10003ee5
add esp, 0x24
jmp 0x10004e43
sub eax, 0x36
je 0x10004a4b
dec eax
dec eax
je 0x100049a7
dec eax
dec eax
je 0x1000469b
sub eax, 0x15
je 0x1000466c
sub eax, 0xc
je 0x10004b34
jmp 0x10004e43
movsx eax, word [esi + 0x17]
mov dword [0x1007c30c], eax
mov dword [0x1007c308], eax
movsx eax, word [esi + 0x19]
mov dword [0x1007c350], eax
mov dword [0x1007c34c], eax
movsx eax, word [esi + 0x1b]
mov dword [0x1007c330], eax
mov dword [0x1007c32c], eax
jmp 0x10004e43
lea eax, [ebp - 4]
mov dword [ebp - 4], 7
push eax
push esi
call fcn.10007cc0
movzx eax, al
pop ecx
cmp eax, 3
pop ecx
je 0x10004e43
cmp eax, 1
jne 0x10004e43
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov dword [ebp + 8], eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov dword [ebp + 0xc], eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov edi, eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007d00
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
add esp, 0x28
cmp edi, 0x2710
movzx edx, al
je 0x10004965
cmp dword [0x10085e68], ebx
je 0x10004e43
test edx, edx
mov ecx, 0x3c4
mov esi, 0x38b
mov ebx, 0x38c
jne 0x10004882
cmp dword [0x10085e70], edx
jne 0x10004965
cmp edi, 0x1e
je 0x10004965
cmp edi, 0x1f
je 0x10004965
cmp edi, 0x20
je 0x10004965
cmp edi, 0x21
je 0x10004965
cmp edi, 0x3e3
je 0x10004965
cmp edi, 0x288
je 0x10004965
cmp edi, 0x2c3
je 0x10004965
cmp edi, 0x2c4
je 0x10004965
cmp edi, 0x2c5
je 0x10004965
cmp edi, 0x2c6
je 0x10004965
cmp edi, ecx
je 0x10004965
cmp edi, 0x3c5
je 0x10004965
cmp edi, 0x2bb
je 0x10004965
cmp edi, 0x2bc
je 0x10004965
cmp edi, 0x2bd
je 0x10004965
cmp edi, 0x34d
je 0x10004965
cmp edi, 0x34e
je 0x10004965
cmp edi, 0x34f
je 0x10004965
cmp edi, 0x350
je 0x10004965
cmp edi, 0x272
je 0x10004965
cmp edi, 0x271
je 0x10004965
cmp edi, esi
je 0x10004965
cmp edi, ebx
je 0x10004965
cmp edi, 0x322
je 0x10004965
cmp edi, 0x3ee
je 0x10004965
cmp edi, 0x4d4
je 0x10004965
cmp edi, 0x46c
je 0x10004965
cmp edi, 0x445
je 0x10004965
cmp edi, 0x446
jne 0x10004e43
mov eax, dword [0x10085e7c]
cmp edx, 3
jne 0x10004934
test eax, eax
jne 0x10004965
cmp edi, 0x474
je 0x10004e43
cmp edi, 0x46e
je 0x10004e43
cmp edi, 0x46f
je 0x10004e43
cmp edi, 0x470
je 0x10004e43
cmp edi, ecx
je 0x10004e43
cmp edi, 0x3db
je 0x10004e43
cmp edi, esi
je 0x10004e43
cmp edi, ebx
je 0x10004e43
cmp edi, 0x3bc
je 0x10004e43
cmp edi, 0x3bf
je 0x10004e43
cmp edi, 0x3c3
je 0x10004e43
cmp edi, 0x46c
je 0x10004e43
cmp edi, 0x445
je 0x10004e43
cmp edi, 0x446
jne 0x10004e43
cmp edx, 1
jne 0x10004946
cmp dword [0x10085e74], 0
je 0x10004e43
cmp edx, 2
jne 0x10004958
cmp dword [0x10085e78], 0
je 0x10004e43
cmp edx, 3
jne 0x10004965
test eax, eax
je 0x10004e43
mov eax, dword [0x1007c2b0]
sub eax, dword [ebp + 8]
push eax
call sub.MSVCRT.dll_abs
cmp eax, 0xa
pop ecx
jg 0x10004e43
mov eax, dword [0x1007c2b4]
sub eax, dword [ebp + 0xc]
push eax
call sub.MSVCRT.dll_abs
cmp eax, 0xa
pop ecx
jg 0x10004e43
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1000516e
pop ecx
pop ecx
jmp 0x10004e43
cmp byte [esi + 5], 0
je 0x10004e43
cmp byte [esi + 6], 1
push 7
pop ecx
push 0xf
mov dword [ebp - 4], ecx
pop eax
jne 0x100049cd
movsx edx, word [esi + 7]
mov dword [0x1007c32c], edx
mov dword [ebp - 4], eax
cmp byte [esi + 6], 2
jne 0x100049e0
movsx edx, word [esi + 0xb]
mov dword [0x1007c34c], edx
mov dword [ebp - 4], eax
cmp byte [esi + 6], 4
jne 0x100049f3
movsx edx, word [esi + 9]
mov dword [0x1007c308], edx
mov dword [ebp - 4], eax
cmp byte [esi + 6], cl
jne 0x10004a19
movsx ecx, word [esi + 7]
mov dword [0x1007c32c], ecx
mov dword [ebp - 4], eax
movsx ecx, word [esi + 9]
mov dword [0x1007c308], ecx
movsx ecx, word [esi + 0xb]
mov dword [0x1007c34c], ecx
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
movzx edi, al
lea eax, [ebp - 4]
push eax
mov eax, edi
imul eax, eax, 0x17
push 0x16
add eax, 0x10082841
push esi
push eax
call fcn.10007d20
push edi
call fcn.10003ee5
add esp, 0x1c
jmp 0x10004e43
lea eax, [ebp - 4]
mov dword [ebp - 4], 5
push eax
push esi
call fcn.10007cc0
pop ecx
test al, al
pop ecx
je 0x10004e43
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
movzx eax, al
add esp, 0x10
cmp eax, ebx
jle 0x10004e43
mov ebx, eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
movzx edi, al
lea eax, [ebp - 4]
push eax
mov eax, edi
imul eax, eax, 0x17
push 0x16
add eax, 0x10082841
push esi
push eax
call fcn.10007d20
push edi
call fcn.10003ee5
add esp, 0x1c
dec ebx
jne 0x10004a8a
jmp 0x10004e43
cmp eax, 0x70
jg 0x10004c7d
je 0x10004bb1
sub eax, 0x61
je 0x10004b34
dec eax
dec eax
je 0x10004b34
sub eax, 3
je 0x10004b1c
push 5
pop ecx
sub eax, ecx
je 0x10004b03
dec eax
jne 0x10004e43
lea eax, [ebp - 4]
mov dword [ebp - 4], ecx
push eax
push esi
call fcn.10007ce0
pop ecx
mov dword [0x1007c34c], eax
pop ecx
jmp 0x10004e43
lea eax, [ebp - 4]
mov dword [ebp - 4], ecx
push eax
push esi
call fcn.10007ce0
pop ecx
mov dword [0x1007c308], eax
pop ecx
jmp 0x10004e43
lea eax, [ebp - 4]
mov dword [ebp - 4], 5
push eax
push esi
call fcn.10007ce0
pop ecx
pop ecx
jmp 0x10004691
lea eax, [ebp - 4]
mov dword [ebp - 4], 6
push eax
push esi
call fcn.10007d00
cmp eax, dword [0x1007bf88]
pop ecx
pop ecx
jne 0x10004e43
mov al, byte [esi + 4]
cmp al, 0x63
je 0x10004b79
cmp al, 0x61
je 0x10004b79
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov edi, eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
add esp, 0x10
jmp 0x10004ba6
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
mov edi, eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007ce0
add esp, 0x20
mov dword [0x1007c2b0], edi
jmp 0x100044b2
lea eax, [ebp - 4]
mov dword [ebp - 4], 5
push eax
push esi
call fcn.10007cc0
pop ecx
test al, al
pop ecx
je 0x10004e43
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007d00
mov edi, eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007d00
add esp, 0x10
cmp dword [0x10085fb4], 1
jne 0x10004e43
cmp dword [0x1007bf88], eax
jne 0x10004e43
cmp dword [0x1007ba44], 1
je 0x10004c42
cmp byte [0x1007c36c], 0
jne 0x10004e43
cmp byte [0x1007c36d], 0
jne 0x10004e43
mov eax, edi
mov ecx, 0x100
cdq
mov esi, ecx
idiv esi
mov eax, edi
mov byte [0x1007c36c], dl
cdq
idiv ecx
mov byte [0x1007c36d], al
jmp 0x10004e43
cmp byte [0x1007c36e], 0
jne 0x10004e43
cmp byte [0x1007c36f], 0
jne 0x10004e43
mov eax, edi
mov ecx, 0x100
cdq
mov esi, ecx
idiv esi
mov eax, edi
mov byte [0x1007c36e], dl
cdq
idiv ecx
mov byte [0x1007c36f], al
jmp 0x10004e43
sub eax, 0x71
je 0x10004e01
sub eax, 4
je 0x10004da0
sub eax, 0x1c
je 0x10004d7b
sub eax, 0x30
je 0x10004d6d
sub eax, 0xe
jne 0x10004e43
lea eax, [ebp - 4]
mov dword [ebp - 4], 5
push eax
push esi
call fcn.10007cc0
movzx edi, al
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007d00
add esp, 0x10
cmp edi, ebx
je 0x10004e43
lea eax, [ebp - 4]
cmp edi, 1
push eax
push esi
jne 0x10004d27
call fcn.10007cc0
lea eax, [ebp - 4]
push eax
push 0x16
lea eax, [ebp - 0x188]
push esi
push eax
call fcn.10007d20
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
movzx edi, al
lea eax, [ebp - 4]
push eax
mov eax, edi
imul eax, eax, 0x17
push 0x16
add eax, 0x10082841
push esi
push eax
call fcn.10007d20
push edi
call fcn.10003ee5
add esp, 0x34
jmp 0x10004e43
call fcn.10007ce0
pop ecx
cmp eax, ebx
pop ecx
jle 0x10004e43
mov ebx, eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.10007cc0
movzx edi, al
lea eax, [ebp - 4]
push eax
mov eax, edi
imul eax, eax, 0x17
push 0x16
add eax, 0x10082841
push esi
push eax
call fcn.10007d20
push edi
call fcn.10003ee5
add esp, 0x1c
dec ebx
jne 0x10004d38
jmp 0x10004e43
push dword [ebp + 0xc]
push esi
call fcn.1000420e
jmp 0x100049a0
lea eax, [ebp - 4]
mov dword [ebp - 4], 5
push eax
push esi
call fcn.10007cc0
pop ecx
test al, al
pop ecx
je 0x10004e43
lea eax, [ebp - 4]
push eax
push esi
jmp 0x10004cdd
lea eax, [ebp - 8]
mov dword [ebp - 8], 5
push eax
push esi
call fcn.10007d00
cmp eax, dword [0x1007bf88]
pop ecx
pop ecx
jne 0x10004e43
mov al, byte [esi + 9]
mov byte [0x1007bf8c], al
mov al, byte [esi + 0xa]
mov byte [0x1007bf8d], al
mov al, byte [esi + 0xb]
mov byte [0x1007bf8e], al
mov al, byte [esi + 0xc]
mov byte [0x1007bf8f], al
mov al, byte [esi + 0xd]
mov byte [0x1007bf90], al
mov al, byte [esi + 0xe]
mov byte [0x1007bf91], al
mov al, byte [esi + 0xf]
mov byte [0x1007bf92], al
mov al, byte [esi + 0x10]
mov byte [0x1007bf93], al
jmp 0x10004e43
mov al, byte [esi + 5]
mov cl, byte [esi + 6]
cmp byte [0x1007c36c], al
jne 0x10004e25
cmp byte [0x1007c36d], cl
jne 0x10004e25
and byte [0x1007c36c], 0
and byte [0x1007c36d], 0
cmp byte [0x1007c36e], al
jne 0x10004e43
cmp byte [0x1007c36f], cl
jne 0x10004e43
and byte [0x1007c36e], 0
and byte [0x1007c36f], 0
pop edi
pop esi
pop ebx
leave
ret