Function at 0x41d2d0
Capabilities:
Create thread

Disassembly:
sub esp, 0x210
mov eax, dword [0x53fa2c]
xor eax, esp
mov dword [esp + 0x20c], eax
push ebx
push esi
push edi
mov esi, ecx
push 0x16b00
lea eax, [esi + 0xd4]
push 0x1042d58
push eax
call sub.MSVCR90.dll_memcpy
mov edi, dword [0x571ae8]
xor ebx, ebx
add esp, 0xc
cmp byte [0x103b0fc], bl
je 0x41d39f
push ebx
push 0x200
lea eax, [esi + 0xe47a]
push eax
lea ecx, [esi + 0x18570]
push ecx
mov ecx, esi
call fcn.00413ed0
test al, al
je 0x41d36a
lea edx, [esp + 0x10]
push edx
push ebx
push 0xe9
push 0x409870
push ebx
push ebx
mov dword [0x571b10], ebx
call dword [sym.imp.MSVCR90.dll__beginthreadex]
add esp, 0x18
push 3
mov dword [0x571b14], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
xor al, al
jmp 0x41d945
cmp byte [0x103b0fc], bl
je 0x41d39f
push 1
push 0x5000
lea eax, [esi + 0x189c]
push eax
lea ecx, [esi + 0x18d68]
push ecx
mov ecx, esi
call fcn.00413ed0
test al, al
je 0x41d39f
lea edx, [esp + 0x10]
push edx
push ebx
push 0xea
jmp 0x41d340
movzx eax, byte [esi + 0x17624]
mov dword [esi + 0x3f0], eax
cmp byte [esi + 0x17698], bl
jne 0x41d3bd
or dword [esi + 0x3c8], 2
jmp 0x41d3c4
and dword [esi + 0x3c8], 0xfffffffd
cmp byte [esi + 0x178dc], bl
jne 0x41d3d8
or dword [esi + 0x474], 0x80000000
jmp 0x41d3e2
and dword [esi + 0x474], 0x7fffffff
cmp byte [esi + 0x1770c], bl
sete byte [esp + 0xf]
cmp byte [esi + 0x179c4], bl
jne 0x41d3fa
or edi, 8
jmp 0x41d3fd
and edi, 0xfffffff7
cmp byte [esi + 0x177f4], bl
jne 0x41d40a
or edi, 1
jmp 0x41d40d
and edi, 0xfffffffe
push ebp
mov dword [esp + 0x18], edi
mov ebp, 0x800
cmp byte [esi + 0x17d64], bl
je 0x41d427
or dword [esi + 0x42c], ebp
jmp 0x41d431
and dword [esi + 0x42c], 0xfffff7ff
cmp byte [esi + 0x17e4c], bl
je 0x41d445
or dword [esi + 0x42c], 0x4000
jmp 0x41d44f
and dword [esi + 0x42c], 0xffffbfff
cmp byte [esi + 0x17dd8], bl
je 0x41d463
and dword [esi + 0x42c], 0xffbfffff
jmp 0x41d46d
or dword [esi + 0x42c], 0x400000
cmp byte [esi + 0x195fc], bl
je 0x41d47e
or dword [esi + 0x480], 0x20
jmp 0x41d485
and dword [esi + 0x480], 0xffffffdf
push 0x104
lea ecx, [esi + 0xcdf2]
push ecx
lea ecx, [esi + 0x17e60]
call sub.mfc90.dll_Ordinal_4115
push 0x200
lea edx, [esp + 0x20]
push edx
lea ecx, [esi + 0x17fa4]
call sub.mfc90.dll_Ordinal_4115
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
and dword [esi + 0x448], 0xf0f8007f
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x448]
cmp byte [esi + 0x19670], bl
je 0x41d4e0
or eax, 0x40
jmp 0x41d4e3
and eax, 0xffffffbf
mov dword [esi + 0x448], eax
cmp byte [esi + 0x19758], bl
je 0x41d4fd
or dword [esi + 0x448], 0x80
jmp 0x41d507
and dword [esi + 0x448], 0xffffff7f
mov ecx, dword [esi + 0x199b0]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x400
push ecx
call edi
cmp eax, 3
jne 0x41d530
or dword [esi + 0x448], 0x100
jmp 0x41d55c
cmp eax, 2
jne 0x41d541
or dword [esi + 0x448], 0x300
jmp 0x41d55c
cmp eax, 1
jne 0x41d552
or dword [esi + 0x448], 0x200
jmp 0x41d55c
or dword [esi + 0x448], 0x40000
mov edx, dword [esi + 0x19a04]
push 0
push 0
push 0x400
push edx
call edi
cmp eax, 3
jne 0x41d57f
or dword [esi + 0x448], 0x400
jmp 0x41d5a1
cmp eax, 2
jne 0x41d590
or dword [esi + 0x448], 0xc00
jmp 0x41d5a1
or dword [esi + 0x448], ebp
cmp eax, 1
jne 0x41d59f
xor ebx, ebx
jmp 0x41d5a1
mov ebx, ebp
mov eax, dword [esi + 0x19a58]
push 0
push 0
push 0x400
push eax
call edi
mov ebp, 3
cmp eax, ebp
jne 0x41d5c8
or dword [esi + 0x448], 0x1000
jmp 0x41d5f6
cmp eax, 2
jne 0x41d5d9
or dword [esi + 0x448], 0x3000
jmp 0x41d5f6
or dword [esi + 0x448], 0x2000
cmp eax, 1
jne 0x41d5f0
and ebx, 0xffffdfff
jmp 0x41d5f6
or ebx, 0x2000
mov ecx, dword [esi + 0x19aac]
push 0
push 0
push 0x400
push ecx
call edi
cmp eax, ebp
jne 0x41d618
or dword [esi + 0x448], 0x4000
jmp 0x41d646
cmp eax, 2
jne 0x41d629
or dword [esi + 0x448], 0xc000
jmp 0x41d646
or dword [esi + 0x448], 0x8000
cmp eax, 1
jne 0x41d640
and ebx, 0xffff7fff
jmp 0x41d646
or ebx, 0x8000
mov edx, dword [esi + 0x19b00]
push 0
push 0
push 0x400
push edx
call edi
cmp eax, ebp
jne 0x41d668
or dword [esi + 0x448], 0x10000
jmp 0x41d696
cmp eax, 2
jne 0x41d679
or dword [esi + 0x448], 0x30000
jmp 0x41d696
or dword [esi + 0x448], 0x20000
cmp eax, 1
jne 0x41d690
and ebx, 0xfffdffff
jmp 0x41d696
or ebx, 0x20000
mov eax, dword [esi + 0x19468]
push 0
push 0
push 0x147
push eax
call edi
cmp eax, ebp
ja case.0x41d6ac.0
jmp dword [eax*4 + 0x41d960]
mov dword [esi + 0x3f4], 2
jmp 0x41d6dd
mov dword [esi + 0x3f4], ebp
jmp 0x41d6dd
mov dword [esi + 0x3f4], 0xc
jmp 0x41d6dd
mov dword [esi + 0x3f4], 1
mov ecx, dword [esi + 0x1954c]
push 0
push 0
push 0x147
push ecx
call edi
cmp eax, 4
ja case.0x41d6f4.1
jmp dword [eax*4 + 0x41d970]
mov dword [esi + 0x454], 1
jmp 0x41d731
mov dword [esi + 0x454], 5
jmp 0x41d731
mov dword [esi + 0x454], 0xa
jmp 0x41d731
mov dword [esi + 0x454], 0x1e
jmp 0x41d731
mov dword [esi + 0x454], ebp
mov edx, 0x16b00
mov eax, 0x1042d58
lea ecx, [esi + 0xd4]
mov edi, dword [ecx]
cmp edi, dword [eax]
jne 0x41d7e5
sub edx, 4
add eax, 4
add ecx, 4
cmp edx, 4
jae 0x41d741
xor edi, edi
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp ebx, dword [0x571ae0]
setne cl
xor edx, edx
cmp eax, dword [0x53e3dc]
mov al, byte [esp + 0x13]
setne dl
or ecx, edx
xor edx, edx
cmp al, byte [0x571aec]
mov eax, dword [esp + 0x18]
setne dl
or ecx, edx
xor edx, edx
cmp eax, dword [0x571ae8]
setne dl
or ecx, edx
or ecx, edi
cmp byte [esp + 0x224], 0
mov ebp, ecx
jne 0x41d81c
push 0x16b00
lea eax, [esi + 0xd4]
push eax
push 0x1042d58
call sub.MSVCR90.dll_memcpy
mov ecx, dword [esp + 0x24]
mov dl, byte [esp + 0x1f]
mov eax, dword [esp + 0x20]
add esp, 0xc
mov dword [0x571ae8], ecx
mov byte [0x571aec], dl
mov dword [0x53e3dc], eax
mov dword [0x571ae0], ebx
jmp 0x41d82f
movzx edi, byte [ecx]
movzx edx, byte [eax]
sub edi, edx
jne 0x41d811
movzx edi, byte [ecx + 1]
movzx edx, byte [eax + 1]
sub edi, edx
jne 0x41d811
movzx edi, byte [ecx + 2]
movzx edx, byte [eax + 2]
sub edi, edx
jne 0x41d811
movzx edi, byte [ecx + 3]
movzx eax, byte [eax + 3]
sub edi, eax
sar edi, 0x1f
or edi, 1
jmp 0x41d75b
xor ecx, ecx
test ebp, ebp
setne cl
push ecx
lea ecx, [esi + 0x16ef8]
call sub.mfc90.dll_Ordinal_2360
cmp byte [esi + 0x19670], 0
je 0x41d848
cmp byte [esi + 0x19758], 0
jne 0x41d848
mov eax, 1
jmp 0x41d84a
xor eax, eax
push eax
lea ecx, [esi + 0x1976c]
call sub.mfc90.dll_Ordinal_2360
cmp byte [esi + 0x19670], 0
je 0x41d86f
cmp byte [esi + 0x19758], 0
jne 0x41d86f
mov eax, 1
jmp 0x41d871
xor eax, eax
push eax
lea ecx, [esi + 0x197e0]
call sub.mfc90.dll_Ordinal_2360
cmp byte [esi + 0x19670], 0
je 0x41d896
cmp byte [esi + 0x19758], 0
jne 0x41d896
mov eax, 1
jmp 0x41d898
xor eax, eax
push eax
lea ecx, [esi + 0x19854]
call sub.mfc90.dll_Ordinal_2360
cmp byte [esi + 0x19670], 0
je 0x41d8bd
cmp byte [esi + 0x19758], 0
jne 0x41d8bd
mov eax, 1
jmp 0x41d8bf
xor eax, eax
push eax
lea ecx, [esi + 0x198c8]
call sub.mfc90.dll_Ordinal_2360
mov edx, dword [esi + 0x1978c]
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
push 0
push 0
push edx
call edi
mov eax, dword [esi + 0x19800]
push 0
push 0
push eax
call edi
mov ecx, dword [esi + 0x19874]
push 0
push 0
push ecx
call edi
mov edx, dword [esi + 0x198e8]
push 0
push 0
push edx
call edi
mov eax, dword [esp + 0x228]
cmp eax, 0xa187
jbe 0x41d91a
cmp eax, 0xa1b7
jb 0x41d936
cmp eax, 0xa1c6
je 0x41d92a
cmp eax, 0xa1c7
je 0x41d936
jmp 0x41d93f
push 0xa188
mov ecx, esi
call fcn.0041a7b0
push 0
mov ecx, esi
call fcn.0040ef30
test ebp, ebp
setne al
pop ebp
mov ecx, dword [esp + 0x218]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004e0148
add esp, 0x210
ret 8