Function at 0x100543a9
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008a9b3
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x10f0
call fcn.10062090
mov eax, dword [0x1009a008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
xor ebx, ebx
mov esi, ecx
mov dword [ebp - 0x1058], eax
lea eax, [esi + 0x11fa4]
push eax
lea ecx, [ebp - 0x1100]
mov dword [ebp - 0x1064], esi
mov dword [ebp - 0x109c], ebx
mov dword [ebp - 0x10bc], ebx
mov dword [ebp - 0x1088], ebx
mov byte [ebp - 0x103d], bl
mov byte [ebp - 0x1029], bl
mov byte [ebp - 0x1021], bl
mov dword [ebp - 0x107c], ebx
mov dword [ebp - 0x1030], ebx
mov dword [ebp - 0x1078], ebx
mov dword [ebp - 0x1060], ebx
mov dword [ebp - 0x1098], ebx
mov dword [ebp - 0x1094], ebx
mov dword [ebp - 0x1054], ebx
mov byte [ebp - 0x1032], 0xff
mov dword [ebp - 0x105c], ebx
mov dword [ebp - 0x104c], ebx
mov byte [ebp - 0x1031], bl
mov dword [ebp - 0x1074], ebx
mov dword [ebp - 0x1038], ebx
mov byte [ebp - 0x1068], bl
call fcn.10037ac7
mov edi, 0x4000000
cmp dword [esi + 0x11fc8], edi
mov dword [ebp - 4], ebx
jge 0x100544de
push 0x1010
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x1038], eax
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x100544c2
push edi
push dword [esi + 0x11fc8]
push 0x10008fe8
push ebx
push 0x27
push eax
call fcn.10037a50
add esp, 0x18
jmp 0x100544c4
xor eax, eax
mov dword [ebp - 0x10a0], eax
mov byte [ebp - 4], bl
push 0x1008bdb8
lea eax, [ebp - 0x10a0]
push eax
call fcn.1006330f
mov ecx, esi
call fcn.1004074d
mov al, byte [ebp + 0x14]
mov ecx, esi
mov byte [esi + 0x11c76], bl
mov byte [esi + 0x11c75], 1
mov byte [esi + 0x11c74], al
call fcn.100455c5
cmp eax, 3
mov dword [ebp - 0x1028], eax
jle 0x1005481a
cmp dword [ebp + 0x20], 1
je 0x10054567
push 0x1010
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x1038], eax
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x1005454c
push dword [ebp + 0x20]
push dword [ebp - 0x1028]
push 0x10008f80
push ebx
push 2
push eax
call fcn.10037a50
add esp, 0x18
jmp 0x1005454e
xor eax, eax
mov dword [ebp - 0x10b8], eax
mov byte [ebp - 4], bl
push 0x1008bdb8
lea eax, [ebp - 0x10b8]
jmp 0x100544d8
cmp byte [esi + 0x11c74], bl
jne 0x100545c9
lea edi, [esi + 0xc]
push 0x1000540c
push edi
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x1005459a
lea eax, [esi + 0x100c]
push 0x10008f74
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x100545c2
push 0x10008f70
push edi
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x100545c9
lea eax, [esi + 0x100c]
push 0x10008f60
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x100545c9
mov byte [esi + 0x11c74], 1
cmp byte [0x10097747], 1
je 0x1005480e
lea eax, [esi + 0xc]
push 0x10006678
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x10054605
lea eax, [esi + 0x100c]
push 0x10008f5c
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
mov edi, 0x100018c8
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x10054635
lea eax, [esi + 0x100c]
push 0x10008f54
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x10054660
lea eax, [esi + 0x100c]
push 0x10008f4c
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x1005468b
lea eax, [esi + 0x100c]
push 0x10008f44
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x100546b6
lea eax, [esi + 0x100c]
push 0x10008f3c
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x100546e1
lea eax, [esi + 0x100c]
push 0x10008f34
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x1005470c
lea eax, [esi + 0x100c]
push 0x10008f2c
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x10054737
lea eax, [esi + 0x100c]
push 0x10008f24
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x10054762
lea eax, [esi + 0x100c]
push 0x10008f1c
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x1005478d
lea eax, [esi + 0x100c]
push 0x10008f14
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x100547b4
lea eax, [esi + 0x100c]
push 0x10008f0c
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x100547db
lea eax, [esi + 0x100c]
push 0x10008f04
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
lea eax, [esi + 0xc]
push edi
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x10054802
lea eax, [esi + 0x100c]
push 0x10008efc
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
jne 0x1005480e
mov eax, dword [esi + 8]
mov dword [eax + 0x10], 0x8000
jmp 0x10054824
mov eax, dword [esi + 8]
mov dword [eax + 0x10], 0x10000
jmp 0x10054824
mov eax, dword [esi + 8]
mov dword [eax + 0x10], 0xf000
mov eax, dword [ebp + 0x20]
dec eax
je 0x10054878
dec eax
je 0x10054847
mov dword [esi + 0x11fcc], 0x91c
mov byte [ebp - 0x1050], 4
mov byte [ebp - 0x1048], 0xd
jmp 0x100548a4
movzx eax, word [ebp + 0x34]
mov dword [ebp - 0x1038], eax
mov al, byte [ebp + 0x38]
mov dword [esi + 0x11fcc], 0x930
mov byte [ebp - 0x1048], bl
mov byte [ebp - 0x1050], bl
mov byte [ebp - 0x1044], bl
mov byte [ebp - 0x1068], al
jmp 0x100548ab
mov dword [esi + 0x11fcc], 0x800
mov byte [ebp - 0x1050], 4
cmp byte [ebp + 0xc], bl
jne 0x1005489d
mov byte [ebp - 0x1048], 8
mov byte [ebp - 0x1044], bl
jmp 0x100548ab
mov byte [ebp - 0x1048], 0xa
mov byte [ebp - 0x1044], 0x20
mov edi, 0x1000
push edi
lea eax, [ebp - 0x1014]
push ebx
push eax
mov byte [ebp - 4], 3
call fcn.100620c0
lea eax, [esi + 0xc]
push 0x1000537c
push eax
call fcn.100621e0
add esp, 0x14
test eax, eax
je 0x10054970
lea eax, [esi + 0x100c]
push 0x10008eec
push eax
call fcn.100621e0
pop ecx
pop ecx
test eax, eax
je 0x10054970
cmp dword [ebp + 0x20], 3
jne 0x10054970
mov eax, dword [esi]
mov ecx, esi
mov byte [ebp - 4], 4
call dword [eax + 4]
mov dword [ebp - 4], 3
jmp 0x10054958
push 0xff
push 1
push edi
lea eax, [ebp - 0x1014]
push eax
mov ecx, esi
call fcn.100410d1
jmp 0x1005498a
push dword [ebp - 0x1028]
lea eax, [ebp - 0x1014]
push edi
push eax
push 0xff
mov ecx, esi
call fcn.1005303c
lea eax, [ebp - 0x1074]
push eax
lea eax, [ebp - 0x1032]
push eax
lea eax, [ebp - 0x1078]
push eax
lea eax, [ebp - 0x1030]
push eax
lea eax, [ebp - 0x107c]
push eax
lea eax, [ebp - 0x1021]
push eax
lea eax, [ebp - 0x1029]
push eax
lea eax, [ebp - 0x1014]
push eax
call fcn.100378c1
mov edx, dword [ebp - 0x1028]
mov ecx, dword [ebp - 0x1030]
mov dword [ebp - 0x1060], ecx
cmp edx, 9
je 0x100549ec
cmp edx, 6
je 0x100549ec
cmp edx, 0x13
jne 0x10054a97
cmp byte [ebp - 0x1029], bl
jne 0x10054a97
cmp byte [ebp - 0x1021], 1
jne 0x10054a97
cmp edx, 6
jne 0x10054a17
mov ecx, esi
call fcn.10053e9d
mov edx, dword [ebp - 0x1028]
cmp edx, 9
jne 0x10054a29
mov ecx, esi
call fcn.10053dfc
mov edx, dword [ebp - 0x1028]
cmp edx, 0x13
jne 0x10054a35
mov ecx, esi
call fcn.10053fa9
push 0xff
lea eax, [ebp - 0x1014]
push eax
mov ecx, esi
call fcn.100504dc
lea eax, [ebp - 0x1074]
push eax
lea eax, [ebp - 0x1032]
push eax
lea eax, [ebp - 0x1078]
push eax
lea eax, [ebp - 0x1030]
push eax
lea eax, [ebp - 0x107c]
push eax
lea eax, [ebp - 0x1021]
push eax
lea eax, [ebp - 0x1029]
push eax
lea eax, [ebp - 0x1014]
push eax
call fcn.100378c1
mov ecx, dword [ebp - 0x1030]
mov edx, dword [ebp - 0x1028]
mov dword [ebp - 0x1060], ecx
cmp byte [ebp - 0x1021], bl
jne 0x10054af9
cmp edx, 5
je 0x10054af9
cmp edx, 0x10
je 0x10054af9
cmp edx, 0xd
je 0x10054af9
cmp edx, 0xf
je 0x10054af9
push 0x1010
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x1038], eax
mov byte [ebp - 4], 6
cmp eax, ebx
je 0x10054adf
push 0x10008eb0
push ebx
push 0xa
push eax
call fcn.10037a50
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x10c0], ebx
push 0x1008bdb8
lea eax, [ebp - 0x10c0]
jmp 0x100544d8
cmp edx, 8
je 0x10054b03
cmp edx, 7
jne 0x10054b14
lea eax, [esi + 0x11c74]
cmp byte [eax], bl
jne 0x10054b14
cmp ecx, ebx
jle 0x10054b14
mov byte [eax], 1
cmp edx, 5
jne 0x10054b2a
lea eax, [esi + 0x11c74]
cmp byte [eax], bl
jne 0x10054b3c
cmp ecx, ebx
jle 0x10054b3c
mov byte [eax], 1
cmp edx, 0x10
jne 0x10054b3c
lea eax, [esi + 0x11c74]
cmp byte [eax], 1
jne 0x10054b3c
mov byte [eax], bl
push dword [ebp - 0x1028]
mov ecx, esi
call fcn.10045169
mov ecx, dword [ebp - 0x1028]
lea eax, [ecx - 4]
cmp eax, 0xf
ja case.0x10054b62.10
movzx eax, byte [eax + 0x100558b9]
jmp dword [eax*4 + 0x100558a9]
cmp byte [esi + 0x11c74], 1
jne 0x10054bb8
cmp ecx, 7
je 0x10054b94
cmp ecx, 8
je 0x10054b94
push ebx
push ebx
push 1
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
push dword [ebp + 0x10]
push 5
push 8
push ebx
jmp 0x10054c56
push ebx
push ebx
push dword [esi + 0x11fd4]
push 0x20
call dword [esi + 0x11fd0]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
push ebx
push 4
push 8
jmp 0x10054c54
push ebx
push ebx
push 1
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp + 0x10]
push 5
push 8
push 2
jmp 0x10054c56
push ebx
push ebx
push dword [esi + 0x11fd4]
push 0x20
call dword [esi + 0x11fd0]
movzx eax, byte [esi + 0x11c74]
push ebx
push ebx
push ebx
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push ebx
push eax
push ebx
push 4
jmp 0x10054bc7
push ebx
push ebx
push dword [esi + 0x11fd4]
push 0x20
call dword [esi + 0x11fd0]
push ebx
push ebx
push ebx
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
jmp 0x10054bab
push dword [ebp - 0x1068]
movzx eax, byte [esi + 0x11c74]
push dword [ebp - 0x1038]
push ebx
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp - 0x1044]
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x1050]
push dword [ebp - 0x1048]
push 1
mov ecx, esi
call fcn.10044f52
cmp dword [ebp - 0x1028], 4
jge 0x10054cd6
push edi
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.100620c0
add esp, 0xc
push 0xff
push 1
push edi
lea eax, [ebp - 0x1014]
push eax
mov ecx, esi
call fcn.100410d1
lea eax, [ebp - 0x1074]
push eax
lea eax, [ebp - 0x1032]
push eax
lea eax, [ebp - 0x1078]
push eax
lea eax, [ebp - 0x1030]
push eax
lea eax, [ebp - 0x107c]
push eax
lea eax, [ebp - 0x1021]
push eax
lea eax, [ebp - 0x1029]
push eax
lea eax, [ebp - 0x1014]
push eax
call fcn.100378c1
mov eax, dword [ebp - 0x1030]
mov dword [ebp - 0x1060], eax
push ebx
push ebx
push dword [esi + 0x11fd4]
push 4
call dword [esi + 0x11fd0]
mov ecx, dword [ebp - 0x1058]
add ecx, 0x38
mov eax, dword [ecx]
lea edx, [ebp - 0x103c]
push edx
mov dword [ebp - 0x1044], ecx
call dword [eax + 8]
mov ecx, dword [eax]
push ebx
push dword [esi + 0x11fcc]
mov dword [ebp - 0x1090], ecx
mov eax, dword [eax + 4]
push eax
push ecx
mov dword [ebp - 0x108c], eax
call fcn.10063260
mov dword [ebp - 0x1084], eax
lea eax, [ebp - 0x1084]
push eax
lea eax, [ebp - 0x1090]
push eax
push dword [esi + 0x11fd4]
mov dword [ebp - 0x1080], edx
push 5
call dword [esi + 0x11fd0]
mov edi, dword [ebp - 0x1028]
lea eax, [edi - 4]
cmp eax, 0xc
ja 0x10054d9c
mov eax, 0x80000
cmp dword [ebp - 0x1084], eax
jae 0x10054d9c
cmp byte [0x10097746], 1
jne 0x10054d9c
cmp byte [esi + 0x11c74], bl
jne 0x10054d9c
sub eax, dword [ebp - 0x1084]
mov dword [ebp - 0x105c], eax
lea eax, [ebp - 0x105c]
push eax
lea eax, [ebp - 0x1084]
push eax
push dword [esi + 0x11fd4]
push 0x1a
call dword [esi + 0x11fd0]
cmp edi, 4
je 0x10054db5
cmp edi, 5
je 0x10054db5
cmp edi, 0x10
je 0x10054db5
cmp edi, 7
je 0x10054db5
cmp edi, 8
jne 0x10054e17
cmp byte [esi + 0x11c74], 1
jne 0x10054df6
cmp edi, 7
je 0x10054dc8
cmp edi, 8
jne 0x10054df6
mov ecx, esi
cmp dword [ebp - 0x1030], ebx
jne 0x10054dd6
push 1
jmp 0x10054dd7
push ebx
call fcn.10054302
push ebx
push ebx
push 1
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
push ebx
push 5
push 8
push ebx
mov ecx, esi
call fcn.10044f52
jmp 0x10054e17
mov ecx, dword [ebp - 0x105c]
mov eax, dword [ebp - 0x1084]
add eax, ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.10041786
mov dword [ebp - 4], 3
cmp edi, 0xf
jne 0x10054e5b
lea eax, [ebp - 0x1031]
push eax
lea eax, [ebp - 0x104c]
push eax
mov ecx, esi
call fcn.1004583b
cmp byte [ebp - 0x1031], bl
jne 0x10054e5b
push dword [ebp - 0x104c]
mov ecx, esi
call fcn.10045902
lea eax, [ebp - 0x1031]
push eax
lea eax, [ebp - 0x104c]
push eax
mov ecx, esi
call fcn.1004583b
push dword [esi + 0x11fbc]
mov edi, dword [sym.imp.KERNEL32.dll_ResetEvent]
call edi
test eax, eax
jne 0x10054ebc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1010
mov esi, eax
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x1038], eax
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x10054ea2
push esi
push 0x10008e58
push esi
push 5
push eax
call fcn.10037a50
add esp, 0x14
mov ebx, eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x10c8], ebx
push 0x1008bdb8
lea eax, [ebp - 0x10c8]
jmp 0x100544d8
push dword [esi + 0x11fc0]
call edi
test eax, eax
jne 0x10054f17
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1010
mov esi, eax
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x1038], eax
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x10054efd
push esi
push 0x10008df8
push esi
push 5
push eax
call fcn.10037a50
add esp, 0x14
mov ebx, eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x10d0], ebx
push 0x1008bdb8
lea eax, [ebp - 0x10d0]
jmp 0x100544d8
lea ecx, [esi + 0x3020]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [esi + 0x11c78]
call fcn.10041c43
mov eax, dword [ebp - 0x1044]
mov dword [esi + 0x11c7c], eax
lea eax, [ebp - 0x10bc]
push eax
push ebx
push esi
push 0x10044a2b
push ebx
push ebx
mov dword [esi + 0x11fc4], ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x109c], eax
cmp eax, ebx
jne 0x10054fae
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1010
mov esi, eax
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x1038], eax
mov byte [ebp - 4], 0xb
cmp eax, ebx
je 0x10054f94
push esi
push 0x10008da8
push esi
push 5
push eax
call fcn.10037a50
add esp, 0x14
mov ebx, eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x10b0], ebx
push 0x1008bdb8
lea eax, [ebp - 0x10b0]
jmp 0x100544d8
lea eax, [ebp - 0x109c]
push eax
lea ecx, [ebp - 0x10f4]
call fcn.100379a4
mov eax, dword [esi + 0x11fc8]
cdq
mov ecx, 0xb0
idiv ecx
push ebx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x1088], eax
lea eax, [ebp - 0x1088]
push eax
push dword [esi + 0x11fd4]
push 6
call dword [esi + 0x11fd0]
push dword [ebp - 0x1088]
push dword [esi + 0x11fbc]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
cmp edi, ebx
je 0x10055056
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1010
mov esi, eax
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x1038], eax
mov byte [ebp - 4], 0xd
cmp eax, ebx
je 0x1005503c
push edi
push esi
push 0x10008d40
push esi
push 5
push eax
call fcn.10037a50
add esp, 0x18
mov ebx, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x10ac], ebx
push 0x1008bdb8
lea eax, [ebp - 0x10ac]
jmp 0x100544d8
push ebx
push ebx
push dword [esi + 0x11fd4]
push 7
call dword [esi + 0x11fd0]
push ebx
push ebx
push dword [esi + 0x11fd4]
push 0x28
call dword [esi + 0x11fd0]
mov dword [ebp - 0x1070], ebx
mov dword [ebp - 0x106c], ebx
mov dword [ebp - 0x1048], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1050], eax
mov dword [ebp - 0x1038], eax
lea ecx, [esi + 0x3020]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, eax
mov dword [ebp - 0x104c], edi
cmp edi, ebx
je 0x1005535d
cmp byte [edi + 0x19], 1
jne 0x100550d7
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x10cc], eax
mov byte [edi + 0x19], bl
push 0x1008bdb8
lea eax, [ebp - 0x10cc]
jmp 0x100544d8
cmp byte [edi + 0x18], 1
jne 0x10055121
cmp byte [esi + 0x11c74], 1
jne 0x10055121
cmp dword [ebp - 0x1028], 7
je 0x100550f8
cmp dword [ebp - 0x1028], 8
jne 0x10055121
cmp byte [0x10097747], 1
mov ecx, esi
jne 0x10055112
push 0x10000
push dword [ebp - 0x1030]
push 0x20
jmp 0x1005512f
push 0x8000
push dword [ebp - 0x1030]
push 0x10
jmp 0x1005512f
push dword [edi + 0x24]
mov ecx, esi
push dword [ebp - 0x1030]
push dword [edi + 0x28]
push dword [edi + 0x2c]
call fcn.10041963
mov al, byte [edi + 0x18]
mov byte [ebp - 0x103d], al
mov eax, dword [edi + 0x28]
add dword [ebp - 0x1030], eax
mov eax, dword [edi + 0x28]
cdq
add dword [ebp - 0x1070], eax
adc dword [ebp - 0x106c], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1068], eax
cmp dword [ebp + 0x18], ebx
jbe 0x100551a1
mov edx, dword [ebp + 0x18]
imul edx, edx, 0x3e8
mov ecx, eax
sub ecx, dword [ebp - 0x1050]
cmp ecx, edx
jbe 0x100551a1
mov dword [ebp - 0x1050], eax
lea eax, [ebp - 0x1070]
push eax
lea eax, [ebp - 0x1084]
push eax
push dword [esi + 0x11fd4]
push 0xc
call dword [esi + 0x11fd0]
cmp dword [ebp + 0x1c], ebx
jbe 0x100552d8
inc dword [ebp - 0x1048]
cmp dword [ebp - 0x1048], 8
jle 0x10055235
xor eax, eax
cmp dword [ebp - 0x1028], 6
lea edi, [ebp - 0x1020]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x1048], ebx
stosd dword es:[edi], eax
je 0x10055235
push 0xc
pop edi
push edi
lea eax, [ebp - 0x1020]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xe
call fcn.10041551
mov dword [ebp - 4], edi
jmp 0x10055235
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x1068]
imul edx, edx, 0x3e8
mov ecx, eax
sub ecx, dword [ebp - 0x1038]
cmp ecx, edx
jbe 0x100552d8
movzx ecx, byte [ebp - 0x101b]
mov dword [ebp - 0x1038], eax
movzx eax, byte [ebp - 0x101c]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x101a]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x1019]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x1017]
mov dword [ebp - 0x1098], eax
movzx eax, byte [ebp - 0x1018]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x1016]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x1015]
shl eax, 8
or eax, ecx
mov dword [ebp - 0x1094], eax
lea eax, [ebp - 0x1094]
push eax
lea eax, [ebp - 0x1098]
push eax
push dword [esi + 0x11fd4]
push 0xd
call dword [esi + 0x11fd0]
push dword [ebp - 0x104c]
mov ecx, dword [esi + 0x11c78]
call fcn.10041c7a
push ebx
push dword [esi + 0x11fc0]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1005509a
cmp byte [esi + 0x11c76], 1
jne 0x1005509a
push 0x1010
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x1038], eax
mov byte [ebp - 4], 0x10
cmp eax, ebx
je 0x10055343
push dword [ebp - 0x106c]
push dword [ebp - 0x1070]
push 0x10008cf0
push ebx
push 0xe
push eax
call fcn.10037a50
add esp, 0x18
mov ebx, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x10b4], ebx
push 0x1008bdb8
lea eax, [ebp - 0x10b4]
jmp 0x100544d8
cmp byte [ebp - 0x103d], bl
jne 0x10055386
push ebx
push ebx
push dword [esi + 0x11fd4]
push 0x19
call dword [esi + 0x11fd0]
push dword [0x10097748]
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1005509a
cmp dword [ebp - 0x1060], ebx
je 0x10055604
mov eax, dword [ebp - 0x1028]
cmp eax, 9
je 0x100553c2
cmp eax, 6
je 0x100553c2
cmp eax, 0x13
je 0x100553c2
cmp byte [esi + 0x11c74], 1
jne 0x10055604
cmp eax, 8
je 0x100553c2
cmp eax, 7
jne 0x10055604
mov eax, dword [ebp - 0x1058]
cmp byte [eax + 0x68], 1
jne 0x10055475
mov edi, 0x10000
mov dword [ebp - 0x1038], ebx
mov dword [ebp - 0x1028], ebx
push edi
push ebx
push dword [esi + 0x11c6c]
call fcn.100620c0
add esp, 0xc
cmp dword [ebp - 0x1028], 0x100
push ebx
mov ecx, esi
push 0x20
jge 0x10055437
push dword [ebp - 0x1028]
push edi
push dword [esi + 0x11c6c]
call fcn.10040862
mov eax, edi
push eax
push dword [ebp - 0x1028]
mov ecx, esi
push 0x20
push dword [esi + 0x11c6c]
call fcn.10041963
add dword [ebp - 0x1028], 0x20
jmp 0x100553e3
push 0x100
push edi
push dword [esi + 0x11c6c]
call fcn.10040862
push dword [esi + 0x11c6c]
mov ecx, dword [ebp - 0x1058]
call fcn.1003f46c
mov eax, edi
push eax
push 0x100
push 0x20
push dword [esi + 0x11c6c]
mov ecx, esi
call fcn.10041963
jmp 0x10055609
mov ecx, eax
call fcn.1003af54
mov edi, 0x10000
push edi
push ebx
push dword [esi + 0x11c6c]
call fcn.100620c0
add esp, 0xc
cmp dword [ebp - 0x108c], ebx
jg 0x100554cb
jl 0x100554a3
cmp dword [ebp - 0x1090], edi
jae 0x100554cb
push dword [esi + 0x11c6c]
mov ecx, dword [ebp - 0x1058]
push dword [ebp - 0x108c]
add ecx, 0x38
push dword [ebp - 0x1090]
mov eax, dword [ecx]
mov dword [ebp - 0x1044], ecx
call dword [eax + 4]
jmp 0x100554eb
push dword [esi + 0x11c6c]
mov ecx, dword [ebp - 0x1058]
xor eax, eax
push eax
add ecx, 0x38
mov edx, dword [ecx]
mov eax, edi
push eax
mov dword [ebp - 0x1044], ecx
call dword [edx + 4]
push 0x20
push dword [esi + 0x11c6c]
mov ecx, esi
call fcn.1004b1d3
cmp eax, 0x10
mov dword [ebp - 0x104c], eax
jle 0x10055551
push 0x1010
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x1038], eax
mov byte [ebp - 4], 0x11
cmp eax, ebx
je 0x10055537
push dword [ebp - 0x104c]
push 0x10008c88
push ebx
push 2
push eax
call fcn.10037a50
add esp, 0x14
mov ebx, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x10c4], ebx
push 0x1008bdb8
lea eax, [ebp - 0x10c4]
jmp 0x100544d8
cmp dword [ebp - 0x104c], ebx
jle 0x10055609
mov ecx, dword [ebp - 0x1058]
call fcn.1003af54
push edi
push ebx
push dword [esi + 0x11c6c]
call fcn.100620c0
mov ecx, dword [ebp - 0x1044]
mov edx, dword [ecx]
add esp, 0xc
push dword [esi + 0x11c6c]
xor eax, eax
push eax
mov eax, 0x8000
push eax
call dword [edx + 4]
push 0x8000
push ebx
push 0x10
push dword [esi + 0x11c6c]
mov ecx, esi
call fcn.10041963
push edi
push ebx
push dword [esi + 0x11c6c]
call fcn.100620c0
add esp, 0xc
push ebx
push 0x10
push 0x10
push 0x8000
push dword [esi + 0x11c6c]
mov ecx, esi
call fcn.10040862
mov eax, dword [ebp - 0x104c]
push dword [esi + 0x11c6c]
mov ecx, dword [ebp - 0x1044]
shl eax, 0xb
cdq
mov dword [ebp - 0x1038], edx
push dword [ebp - 0x1038]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push 0x8000
push 0x10
push 0x10
jmp 0x10055463
mov edi, 0x10000
cmp dword [ebp - 0x105c], ebx
jbe 0x100556f2
push ebx
push ebx
push dword [esi + 0x11fd4]
push 0x1b
call dword [esi + 0x11fd0]
mov eax, dword [ebp - 0x105c]
mov dword [ebp - 0x1054], eax
push edi
push ebx
push dword [esi + 0x11c6c]
call fcn.100620c0
add esp, 0xc
cmp dword [ebp - 0x1054], 0x20
mov ecx, esi
jle 0x100556b5
push edi
push dword [ebp - 0x1030]
push 0x20
push dword [esi + 0x11c6c]
call fcn.10041963
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [ebp + 0x18], ebx
jbe 0x100556a2
mov edx, dword [ebp + 0x18]
imul edx, edx, 0x3e8
mov ecx, eax
sub ecx, dword [ebp - 0x1050]
cmp ecx, edx
jbe 0x100556a2
mov dword [ebp - 0x1050], eax
lea eax, [ebp - 0x1054]
push eax
lea eax, [ebp - 0x105c]
push eax
push dword [esi + 0x11fd4]
push 0x27
call dword [esi + 0x11fd0]
sub dword [ebp - 0x1054], 0x20
add dword [ebp - 0x1030], 0x20
jmp 0x10055631
mov eax, dword [ebp - 0x1054]
shl eax, 0xb
push eax
push dword [ebp - 0x1030]
push dword [ebp - 0x1054]
push dword [esi + 0x11c6c]
call fcn.10041963
mov eax, dword [ebp - 0x1054]
add dword [ebp - 0x1030], eax
push ebx
push ebx
push dword [esi + 0x11fd4]
push 0x1c
call dword [esi + 0x11fd0]
push ebx
push ebx
push dword [esi + 0x11fd4]
push 0x29
call dword [esi + 0x11fd0]
push ebx
push ebx
push dword [esi + 0x11fd4]
push 8
call dword [esi + 0x11fd0]
mov ecx, esi
call fcn.10053bef
push ebx
push ebx
push dword [esi + 0x11fd4]
push 9
call dword [esi + 0x11fd0]
lea ecx, [ebp - 0x10f4]
mov byte [ebp - 4], 3
call fcn.100379c7
mov ecx, esi
call fcn.10044f16
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1100]
call fcn.10037af5
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10062074
leave
ret 0x34