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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x234
mov eax, dword [0x100fa040]
xor eax, esp
mov dword [esp + 0x230], eax
push ebx
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], ebx
push esi
push edi
test ebx, ebx
je 0x1008583c
cmp word [ebx], 0xffff
je 0x1008583c
mov eax, 0x861110
call eax
mov edx, 0x861aa0
mov ecx, eax
call edx
movsx edi, word [ebx]
mov dword [esp + 0x5c], eax
cmp edi, 0x2000
ja 0x1008583c
xor esi, esi
mov edx, 0x106e9c0a
nop dword [eax + eax]
movzx ecx, word [edx - 2]
movzx eax, word [edx]
shl ecx, 9
add ecx, eax
cmp edi, ecx
je 0x10085855
add edx, 0x7c
inc esi
cmp edx, 0x107e1c0a
jl 0x10085820
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x230]
xor ecx, esp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 0x18
imul edi, esi, 0x7c
add edi, 0x106e9c08
mov dword [esp + 0x50], edi
je 0x1008583c
movsx eax, word [ebx]
imul eax, eax, 0x54
add eax, dword [0x8128ac0]
mov dword [esp + 0x64], eax
je 0x1008583c
cmp byte [ebx + 0x61], 1
mov dword [esp + 0x3c], 0
jne 0x100858b0
cmp byte [ebx + 0x62], 0
jne 0x100858b0
call fcn.100cbd30
mov eax, dword [ebx + 0x63]
test eax, eax
je 0x1008583c
cdq
mov dword [esp + 0x70], eax
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x78], edx
call fcn.100cb35a
add esp, 4
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x5c]
lea esi, [edi + 0x4a]
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], esi
mov dword [ecx + 0x11bb64], 0xffffffff
mov eax, dword [ebx + 2]
mov edx, eax
sar edx, 3
mov dword [esp + 0x4c], eax
and edx, 0xf
movzx eax, word [esi]
mov dword [esp + 0x54], edx
cmp ax, 0xffff
je 0x100859de
mov edi, 0x1a25
cmp word [ebx], di
mov edi, dword [esp + 0x50]
jne 0x10085998
mov dl, byte [ebx + 0x17]
movsx eax, dl
sub eax, 1
je 0x1008594f
sub eax, 1
je 0x1008593e
sub eax, 2
je 0x1008592d
or ecx, 0xffffffff
test dl, dl
jne 0x1008595e
mov eax, dword [esp + 0x5c]
xor ecx, ecx
mov dword [eax + 0x11bb64], 0
jmp 0x1008595e
mov dword [ecx + 0x11bb64], 3
mov ecx, 3
jmp 0x1008595e
mov dword [ecx + 0x11bb64], 2
mov ecx, 2
jmp 0x1008595e
mov dword [ecx + 0x11bb64], 1
mov ecx, 1
movsx esi, word [esi]
add esi, ecx
cmp esi, 0x80
ja 0x1008583c
xor ecx, ecx
mov dword [esp + 0x50], edi
mov edx, 0x106e6908
nop word [eax + eax]
movzx eax, word [edx]
cmp esi, eax
je 0x100859cb
add edx, 0x66
inc ecx
cmp edx, 0x106e9c08
jl 0x10085980
jmp 0x1008583c
cwde
lea esi, [eax + edx]
cmp esi, 0x80
ja 0x1008583c
xor ecx, ecx
mov dword [esp + 0x50], edi
mov edx, 0x106e6908
movzx eax, word [edx]
cmp esi, eax
je 0x100859cb
add edx, 0x66
inc ecx
cmp edx, 0x106e9c08
jl 0x100859b3
jmp 0x1008583c
imul ecx, ecx, 0x66
add ecx, 0x106e6908
mov dword [esp + 0x44], ecx
je 0x1008583c
mov eax, 0x107e7f50
mov dword [esp + 0x2c], 0
xor esi, esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], eax
xor edi, edi
nop dword [eax + eax]
push 0x64
add eax, esi
push 0
push eax
call fcn.100c2c10
add esi, 0x64
mov dword [edi + 0x107e7e60], 0
add esp, 0xc
mov dword [edi + 0x107e7d70], 0
lea edi, [edi + 4]
cmp esi, 0x1770
jge 0x10085a37
mov eax, dword [esp + 0x30]
jmp 0x10085a00
movzx eax, word [ebx]
push eax
mov eax, 0x7e7820
call eax
mov edi, dword [esp + 0x50]
mov ecx, 0x7e7870
test al, al
je 0x10085a73
mov eax, dword [esp + 0x38]
cmp word [eax], 0xffff
jne 0x10085a64
mov al, byte [edi + 0x44]
movzx esi, al
jmp 0x10085b2c
mov eax, dword [esp + 0x44]
mov al, byte [eax + 0x42]
movzx esi, al
jmp 0x10085b2c
movzx eax, word [ebx]
push eax
call ecx
cmp al, 1
jne 0x10085a97
cmp dword [esp + 0x54], 7
jae 0x10085a8d
movzx esi, byte [edi + 0x44]
jmp 0x10085b2c
mov esi, 3
jmp 0x10085b2c
movsx eax, byte [ebx + 0x18]
and eax, reloc.WS2_32.dll_closesocket
jns 0x10085aa7
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 1
je 0x10085b27
cmp eax, 2
je 0x10085b27
xor eax, eax
cmp byte [ebx + eax + 0x4a], 0xff
jne 0x10085b1c
inc eax
cmp eax, 5
jl 0x10085ab3
mov cl, byte [ebx + 0x25]
test cl, cl
jle 0x10085ad8
test byte [ebx + 0x17], 0x3f
jbe 0x10085ad8
mov esi, 4
mov dword [esp + 0x50], edi
jmp 0x10085b2c
mov eax, dword [esp + 0x4c]
and eax, 0x78
cmp al, 0x38
jae 0x10085b11
cmp word [edi + 0x4a], 0xffff
jne 0x10085b03
test cl, cl
jg 0x10085af8
movzx esi, byte [edi + 0x44]
mov dword [esp + 0x50], edi
jmp 0x10085b2c
mov esi, 1
mov dword [esp + 0x50], edi
jmp 0x10085b2c
mov eax, dword [esp + 0x44]
mov dword [esp + 0x50], edi
movzx esi, byte [eax + 0x42]
jmp 0x10085b2c
mov esi, 3
mov dword [esp + 0x50], edi
jmp 0x10085b2c
mov esi, 0xc
mov dword [esp + 0x50], edi
jmp 0x10085b2c
mov esi, 9
movzx eax, word [ebx]
mov ecx, 0x1a04
mov dword [esp + 0x48], esi
mov byte [esp + 0x60], 0
cmp ax, cx
je 0x1008715b
mov ecx, 0x1a05
cmp ax, cx
mov eax, 0x861110
je 0x10087105
push 0xc
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
cmp al, 1
jne 0x10085d7e
cmp byte [edi + 0x46], 0
jne 0x10085d7e
movzx eax, word [ebx]
push eax
mov eax, 0x83c0c0
call eax
test eax, eax
je 0x10085ba7
movsx eax, word [ebx]
push eax
mov eax, 0x5c93c0
call eax
add esp, 4
cmp al, 1
jne 0x10085ec5
cmp byte [ebx + 0x16], 0
jne 0x10085ec5
cmp byte [ebp + 0x14], 0
je 0x10085c6d
cmp dword [0x102c7210], 1
mov ecx, 0x58e3b0
push 0
jne 0x10085bf6
mov al, byte [ebx + 0x17]
mov ecx, 0x102b4280
movzx edx, word [ebx]
mov byte [esp + 0x3c], al
movsx eax, byte [ebx + 0x16]
push eax
push dword [esp + 0x40]
push dword [ebx + 2]
push edx
call fcn.10084710
push 0
lea ecx, [esp + 0x94]
push ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
jmp 0x10085c0d
lea eax, [esp + 0x94]
push eax
push 0
push ebx
call ecx
add esp, 8
mov ecx, eax
call fcn.100e17c0
sub esp, 8
mov eax, 0x5c1170
movsd qword [esp], xmm0
call eax
add esp, 0x10
lea eax, [esp + 0x138]
push eax
push 0
push ebx
mov eax, 0x58e3b0
call eax
add esp, 8
push eax
mov eax, 0x5c1560
call eax
add esp, 8
lea eax, [esp + 0x90]
mov ecx, 0x8128adc
push eax
push 0x654
mov eax, 0x402320
call eax
push eax
imul eax, dword [esp + 0x34], 0x64
add eax, dword [esp + 0x38]
push eax
call fcn.10084830
jmp 0x10085d36
cmp dword [0x102c7210], 1
jne 0x10085ce0
cmp dword [0x102c3d98], 0
mov al, byte [ebx + 0x17]
movzx ecx, word [ebx]
mov edx, dword [ebx + 2]
push 1
mov byte [esp + 0x3c], al
movsx eax, byte [ebx + 0x16]
push eax
push dword [esp + 0x40]
push edx
push ecx
mov ecx, 0x102b4280
je 0x10085cb7
call fcn.10084710
push 0
lea ecx, [esp + 0x94]
push ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
jmp 0x10085cfe
call fcn.10084710
mov ecx, eax
mov eax, 0x55555556
imul ecx
push 0
mov eax, edx
lea ecx, [esp + 0x94]
shr eax, 0x1f
add eax, edx
push ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
jmp 0x10085cfe
push 0
lea eax, [esp + 0x94]
push eax
push 1
push ebx
mov eax, 0x58e3b0
call eax
add esp, 8
mov ecx, eax
call fcn.100e17c0
sub esp, 8
mov eax, 0x5c1170
movsd qword [esp], xmm0
call eax
add esp, 0x10
lea eax, [esp + 0x90]
mov ecx, 0x8128adc
push eax
push 0x3f
mov eax, 0x402320
call eax
push eax
imul eax, dword [esp + 0x34], 0x64
add eax, dword [esp + 0x38]
push eax
call fcn.10084960
mov eax, dword [esp + 0x38]
add esp, 0xc
mov dword [eax*4 + 0x107e7e60], esi
mov eax, dword [esp + 0x2c]
movzx ecx, byte [edi + 0x45]
push 0x100ee23c
mov dword [eax*4 + 0x107e7e60], ecx
mov ecx, dword [esp + 0x30]
inc ecx
lea eax, [ecx + 1]
mov dword [esp + 0x30], eax
imul eax, ecx, 0x64
add eax, dword [esp + 0x34]
push eax
call fcn.100890d0
add esp, 8
mov byte [esp + 0x60], 1
jmp 0x10085ec1
push 0xc
mov eax, 0x861110
call eax
mov ecx, eax
mov esi, 0x85ec20
call esi
test al, al
jne 0x10085ec5
push 0xe
mov eax, 0x861110
call eax
mov ecx, eax
call esi
test al, al
jne 0x10085ec5
push 0xf
mov eax, 0x861110
call eax
mov ecx, eax
call esi
test al, al
jne 0x10085ec5
cmp byte [ebp + 0x14], al
je 0x10085ec5
mov eax, dword [esp + 0x2c]
mov ecx, 0x101b3888
push 0x123
mov dword [eax*4 + 0x107e7e60], 0xe
mov eax, dword [esp + 0x30]
mov dword [eax*4 + 0x107e7d70], 1
mov eax, dword [esp + 0x30]
imul esi, eax, 0x64
inc eax
mov dword [esp + 0x30], eax
add esi, dword [esp + 0x34]
call fcn.10042330
push eax
push esi
call fcn.100890d0
mov eax, dword [esp + 0x34]
add esp, 8
mov ecx, 0x101b3888
mov dword [eax*4 + 0x107e7e60], 0xe
mov eax, dword [esp + 0x2c]
mov dword [eax*4 + 0x107e7d70], 1
mov eax, dword [esp + 0x2c]
push dword [0x101ad4c0]
imul esi, eax, 0x64
inc eax
push 0x12b
mov dword [esp + 0x34], eax
add esi, dword [esp + 0x38]
call fcn.10042330
push eax
push esi
call fcn.100890d0
mov eax, dword [esp + 0x38]
add esp, 0xc
mov ecx, 0x101b3888
mov dword [eax*4 + 0x107e7e60], 0xe
mov eax, dword [esp + 0x2c]
push 0x124
mov dword [eax*4 + 0x107e7d70], 1
mov eax, dword [esp + 0x30]
imul esi, eax, 0x64
inc eax
mov dword [esp + 0x30], eax
add esi, dword [esp + 0x34]
call fcn.10042330
push eax
push esi
call fcn.100890d0
mov eax, dword [esp + 0x34]
imul ecx, eax, 0x64
inc eax
push 0x100ee23c
mov dword [esp + 0x38], eax
add ecx, dword [esp + 0x3c]
push ecx
call fcn.100890d0
add esp, 0x10
inc dword [esp + 0x34]
mov eax, dword [ebp + 0x18]
cmp eax, 4
je 0x10085ed6
cmp eax, 5
jne 0x10086187
push ebx
mov eax, 0x5c8780
call eax
add esp, 4
test al, al
jne 0x10086187
movsx ecx, byte [ebx + 0x44]
movsx eax, byte [ebx + 0x43]
mov dword [esp + 0x38], 0
lea esi, [ecx*8 + 0xcc]
add esi, eax
mov eax, 0x790aa0
call eax
push eax
lea eax, [esp + 0x3c]
push eax
push esi
mov eax, 0x4fa7c0
call eax
add esp, 0xc
cmp al, 1
jne 0x10086095
movd xmm0, dword [esp + 0x38]
lea eax, [esp + 0x90]
push 0
push eax
cvtdq2pd xmm0, xmm0
sub esp, 8
mov eax, 0x5c1170
movsd qword [esp], xmm0
call eax
add esp, 0x10
lea eax, [esp + 0x90]
mov ecx, 0x8128adc
push eax
push 0x3f
mov eax, 0x402320
call eax
push eax
imul eax, dword [esp + 0x34], 0x64
add eax, dword [esp + 0x38]
push eax
call fcn.100a3360
mov eax, dword [esp + 0x44]
add esp, 0xc
cmp eax, 0x989680
jge 0x10085fb0
cmp eax, 0xf4240
jge 0x10085f9f
xor edx, edx
mov ecx, 4
cmp eax, 0x186a0
mov eax, dword [esp + 0x2c]
cmovl ecx, edx
mov dword [eax*4 + 0x107e7e60], ecx
jmp 0x10085fbf
mov eax, dword [esp + 0x2c]
mov dword [eax*4 + 0x107e7e60], 3
jmp 0x10085fbf
mov eax, dword [esp + 0x2c]
mov dword [eax*4 + 0x107e7e60], 2
mov eax, dword [esp + 0x2c]
push 0x100ee23c
mov byte [esp + 0x64], 1
mov dword [eax*4 + 0x107e7e60], 8
mov eax, dword [esp + 0x30]
mov dword [eax*4 + 0x107e7d70], 1
mov ecx, dword [esp + 0x30]
inc ecx
lea eax, [ecx + 1]
mov dword [esp + 0x30], eax
imul eax, ecx, 0x64
add eax, dword [esp + 0x34]
push eax
call fcn.100890d0
inc dword [esp + 0x3c]
add esp, 8
mov eax, dword [0x8128ac4]
mov eax, dword [eax + 0x1744]
cmp eax, dword [esp + 0x38]
jge 0x10086187
mov eax, 0x790aa0
call eax
cmp eax, 2
jne 0x10086187
mov eax, dword [esp + 0x2c]
mov ecx, 0x8128adc
push 0x1a7
mov dword [eax*4 + 0x107e7e60], 2
mov eax, dword [esp + 0x30]
mov dword [eax*4 + 0x107e7d70], 1
mov eax, dword [esp + 0x30]
imul esi, eax, 0x64
inc eax
mov dword [esp + 0x30], eax
mov eax, 0x402320
add esi, dword [esp + 0x34]
call eax
push eax
push esi
call fcn.100890d0
mov eax, dword [esp + 0x34]
imul ecx, eax, 0x64
inc eax
push 0x100ee23c
mov dword [esp + 0x38], eax
add ecx, dword [esp + 0x3c]
push ecx
call fcn.100890d0
add esp, 0x10
jmp 0x10086183
mov eax, 0x790aa0
call eax
cmp eax, 1
jne 0x10086187
mov eax, dword [esi*8 + 0x102c3628]
test eax, eax
jle 0x10086117
push eax
lea eax, [esp + 0x13c]
push 0x100ee338
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x38]
add esp, 0xc
mov ecx, 0x8128adc
mov dword [eax*4 + 0x107e7e60], 8
mov eax, dword [esp + 0x2c]
mov dword [eax*4 + 0x107e7d70], 1
mov eax, dword [esp + 0x2c]
imul esi, eax, 0x64
inc eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x138]
push eax
push 0x3f
mov eax, 0x402320
add esi, dword [esp + 0x38]
call eax
push eax
push esi
call fcn.100a3360
add esp, 0xc
jmp 0x10086160
mov eax, dword [esp + 0x2c]
mov ecx, 0x8128adc
push 0x44d
mov dword [eax*4 + 0x107e7e60], 2
mov eax, dword [esp + 0x30]
mov dword [eax*4 + 0x107e7d70], 1
mov eax, dword [esp + 0x30]
imul esi, eax, 0x64
inc eax
mov dword [esp + 0x30], eax
mov eax, 0x402320
add esi, dword [esp + 0x34]
call eax
push eax
push esi
call fcn.100890d0
add esp, 8
mov eax, dword [esp + 0x2c]
imul ecx, eax, 0x64
inc eax
push 0x100ee23c
mov dword [esp + 0x30], eax
add ecx, dword [esp + 0x34]
push ecx
call fcn.100890d0
add esp, 8
mov byte [esp + 0x60], 1
inc dword [esp + 0x34]
movsx eax, byte [ebx + 0x18]
push eax
movsx eax, word [ebx]
push eax
lea eax, [esp + 0xd8]
push eax
mov eax, 0x588d70
call eax
mov edx, 0x4e9210
mov ecx, eax
call edx
test al, al
je 0x100861ed
movzx eax, word [ebx]
push eax
mov eax, 0x7e7820
call eax
test al, al
jne 0x100861ed
lea edx, [edi + 4]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x100861c0
lea edi, [esp + 0xd0]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100861d1
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x50]
jmp 0x1008620d
lea ecx, [edi + 4]
lea edx, [esp + 0xd0]
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x10086200
test byte [ebx + 0x17], 0x3f
jbe 0x100862d9
movzx eax, word [ebx]
push eax
mov eax, 0x7e7820
call eax
test al, al
jne 0x100862d9
movzx eax, word [ebx]
push eax
mov eax, 0x7e7870
call eax
test al, al
jne 0x100862d9
mov eax, dword [esp + 0x5c]
cmp dword [eax + 0x11bb64], 0xffffffff
jne 0x100862b6
test byte [esp + 0x4c], 0x78
lea eax, [esp + 0xd0]
mov ecx, 0x8128adc
je 0x1008628d
push dword [esp + 0x54]
push eax
push 0x26c
mov eax, 0x402320
call eax
push eax
imul eax, dword [esp + 0x38], 0x64
mov esi, 0x9cf6aa
push str._s__s__d
add eax, dword [esp + 0x40]
push eax
call esi
add esp, 0x14
jmp 0x10086325
push eax
push 0x26c
mov eax, 0x402320
call eax
push eax
push str._s__s
imul eax, dword [esp + 0x38], 0x64
mov esi, 0x9cf6aa
add eax, dword [esp + 0x3c]
push eax
call esi
add esp, 0x10
jmp 0x10086325
mov eax, dword [esp + 0x44]
mov esi, 0x9cf6aa
add eax, 2
push eax
imul eax, dword [esp + 0x30], 0x64
add eax, dword [esp + 0x34]
push eax
call esi
add esp, 8
mov ecx, 1
jmp 0x10086329
cmp word [edi + 0x4a], 0xffff
jne 0x10086309
test byte [esp + 0x4c], 0x78
je 0x10086300
cmp byte [edi + 0x48], 0
je 0x10086300
push dword [esp + 0x54]
lea eax, [esp + 0xd4]
push eax
push str._s__d
jmp 0x100862a0
lea eax, [esp + 0xd0]
jmp 0x10086310
mov eax, dword [esp + 0x44]
add eax, 2
push eax
imul eax, dword [esp + 0x30], 0x64
mov esi, 0x9cf6aa
add eax, dword [esp + 0x34]
push eax
call esi
add esp, 8
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov dword [eax*4 + 0x107e7e60], ecx
cmp word [edi + 0x4a], 0xffff
jne 0x10086341
movzx ecx, byte [edi + 0x45]
jmp 0x10086349
mov eax, dword [esp + 0x44]
movzx ecx, byte [eax + 0x43]
mov eax, dword [esp + 0x2c]
push 0x100ee23c
mov dword [eax*4 + 0x107e7d70], ecx
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
imul eax, eax, 0x64
add eax, dword [esp + 0x34]
push eax
call esi
mov ecx, dword [esp + 0x34]
inc dword [esp + 0x3c]
inc ecx
push 0x100ee23c
lea eax, [ecx + 1]
mov dword [esp + 0x38], eax
imul eax, ecx, 0x64
add eax, dword [esp + 0x3c]
push eax
call esi
inc dword [esp + 0x44]
lea eax, [esp + 0x44]
add esp, 0x10
push 1
push eax
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.10088eb0
movsx eax, word [ebx]
sub eax, 0x1a1d
je 0x10086676
sub eax, 0x29
je 0x100865ff
sub eax, 0x1d6
je 0x100865e7
cmp word [edi + 0x4a], 0xffff
jne 0x100864c9
add edi, 0x4f
mov dword [esp + 0x38], 0xc
nop dword [eax]
movsx esi, word [edi - 3]
cmp esi, 0x400
ja 0x100864b6
xor edx, edx
mov ecx, 0x106a5908
movzx eax, word [ecx]
cmp esi, eax
je 0x10086412
add ecx, 0x104
inc edx
cmp ecx, 0x106e6908
jl 0x100863f7
jmp 0x100864b6
imul eax, edx, 0x104
add eax, 0x106a5908
je 0x100864b6
movzx ecx, word [eax + 0x102]
lea edx, [eax + 2]
cmp cx, 0xffff
je 0x10086499
movsx eax, byte [edi - 1]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
push dword [eax + 0x11bb64]
movsx eax, cx
push dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
push dword [esp + 0x6c]
push ebx
push eax
movsx eax, byte [edi]
push eax
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x48]
push edx
call fcn.10087200
push eax
lea eax, [esp + 0x13c]
push 0x100
push eax
call fcn.100c9e5b
movsx eax, byte [edi]
add esp, 0xc
push 1
push eax
push dword [esp + 0x54]
lea eax, [esp + 0x144]
push dword [esp + 0x38]
push 1
push eax
jmp 0x100864ab
movsx eax, byte [edi]
push 0
push eax
movsx eax, byte [edi - 1]
push eax
push dword [esp + 0x38]
push 1
push edx
mov eax, 0x819ef0
call eax
mov dword [esp + 0x2c], eax
add edi, 4
sub dword [esp + 0x38], 1
jne 0x100863e0
jmp 0x100868f8
mov eax, dword [esp + 0x44]
lea esi, [edi + 0x4e]
add eax, 0x49
mov dword [esp + 0x44], esi
mov dword [esp + 0x4c], eax
mov edi, eax
mov dword [esp + 0x38], 8
mov eax, esi
nop word [eax + eax]
movsx esi, word [edi - 3]
cmp esi, 0x400
ja 0x100865cd
xor edx, edx
mov ecx, 0x106a5908
movzx eax, word [ecx]
cmp esi, eax
je 0x10086522
add ecx, 0x104
inc edx
cmp ecx, 0x106e6908
jl 0x10086507
jmp 0x100865c9
imul eax, edx, 0x104
add eax, 0x106a5908
je 0x100865c9
movzx ecx, word [eax + 0x102]
lea edx, [eax + 2]
cmp cx, 0xffff
je 0x100865ac
mov eax, dword [esp + 0x44]
movsx eax, byte [eax]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
push dword [eax + 0x11bb64]
movsx eax, cx
push dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
push dword [esp + 0x6c]
push ebx
push eax
movsx eax, byte [edi]
push eax
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x48]
push edx
call fcn.10087200
push eax
lea eax, [esp + 0x13c]
push 0x100
push eax
call fcn.100c9e5b
movsx eax, byte [edi]
add esp, 0xc
push 1
push eax
push dword [esp + 0x54]
lea eax, [esp + 0x144]
push dword [esp + 0x38]
push 1
push eax
jmp 0x100865be
movsx eax, byte [edi]
push 0
push eax
movsx eax, byte [edi - 1]
push eax
push dword [esp + 0x38]
push 1
push edx
mov eax, 0x819ef0
call eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
add eax, 4
add edi, 4
sub dword [esp + 0x38], 1
mov dword [esp + 0x44], eax
jne 0x100864f0
jmp 0x100868f8
push dword [esp + 0x2c]
mov eax, 0x8ff400
push ebx
call eax
add esp, 8
mov dword [esp + 0x2c], eax
jmp 0x100868f8
push 0xa2c
mov ecx, 0x8128adc
mov edi, 0x402320
call edi
push eax
imul eax, dword [esp + 0x30], 0x64
add eax, dword [esp + 0x34]
push eax
call esi
mov eax, dword [esp + 0x34]
add esp, 8
mov dword [eax*4 + 0x107e7e60], 1
mov al, byte [ebx + 0x16]
inc dword [esp + 0x2c]
cmp al, 2
jne 0x10086667
push 0xa2d
mov ecx, 0x8128adc
call edi
push eax
imul eax, dword [esp + 0x30], 0x64
add eax, dword [esp + 0x34]
push eax
call esi
mov eax, dword [esp + 0x34]
mov dword [eax*4 + 0x107e7e60], 1
jmp 0x100868f1
cmp al, 1
jne 0x100868f8
push 0xa2e
jmp 0x1008663f
mov eax, dword [0x107e7d48]
movzx eax, byte [eax + 0xb]
push eax
mov eax, 0x405230
call eax
mov ecx, dword [esp + 0x30]
add esp, 4
mov esi, 0x402320
mov bl, al
mov dword [ecx*4 + 0x107e7e60], 0
mov ecx, 0x8128adc
push 0x3a8
call esi
push eax
push 0x3a7
mov ecx, 0x8128adc
call esi
push eax
push 0x47b
mov ecx, 0x8128adc
call esi
push eax
imul eax, dword [esp + 0x38], 0x64
push str._s______s_________s
add eax, dword [esp + 0x40]
push eax
call fcn.100890d0
mov eax, dword [esp + 0x40]
add esp, 0x14
mov dword [eax*4 + 0x107e7e60], 0
inc dword [esp + 0x2c]
xor esi, esi
nop dword [eax]
nop word [eax + eax]
movd xmm0, dword [esi*4 + 0x10699390]
lea eax, [esp + 0x90]
push 0
push eax
cvtdq2pd xmm0, xmm0
sub esp, 8
mov eax, 0x5c1170
movsd qword [esp], xmm0
call eax
add esp, 0x10
cmp bl, 3
je 0x10086748
cmp bl, 4
je 0x10086748
cmp bl, 6
je 0x10086748
mov ecx, dword [esi*8 + 0x106993dc]
mov edi, dword [esi*8 + 0x106993e0]
jmp 0x10086756
mov ecx, dword [esi*8 + 0x106993ac]
mov edi, dword [esi*8 + 0x106993b0]
cmp esi, 5
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x90]
cmove edi, dword [0x102c73a0]
lea eax, [esi + 1]
push edx
push edi
push ecx
push eax
mov esi, eax
imul eax, dword [esp + 0x3c], 0x64
push str._________d_____________03d_03d________s
add eax, dword [esp + 0x44]
push eax
call fcn.100890d0
mov ecx, dword [0x107e7d48]
add esp, 0x18
movzx eax, word [ecx + 0xe]
cmp eax, dword [esp + 0x4c]
jl 0x100867d5
cmp eax, edi
jg 0x100867d5
cmp dword [0x102c72c4], 0
jne 0x100867c4
cmp dword [0x102c734c], 0
jne 0x100867c4
movzx eax, byte [ecx + 0xb]
push eax
mov eax, 0x5878e0
call eax
add esp, 4
test al, al
jne 0x100867d5
mov eax, dword [esp + 0x2c]
mov dword [eax*4 + 0x107e7e60], 8
jmp 0x100867e4
mov eax, dword [esp + 0x2c]
mov dword [eax*4 + 0x107e7e60], 0
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp esi, 6
jl 0x10086700
cmp dword [0x102c72c4], 0
mov ebx, dword [esp + 0x68]
jne 0x100868a0
cmp dword [0x102c734c], 0
jne 0x100868a0
movd xmm0, dword [0x106993a8]
lea eax, [esp + 0x90]
push 0
push eax
cvtdq2pd xmm0, xmm0
sub esp, 8
mov eax, 0x5c1170
movsd qword [esp], xmm0
call eax
add esp, 0x10
lea eax, [esp + 0x90]
mov ecx, 0x8128adc
mov edi, 0x402320
push eax
push 0x2e1
call edi
push eax
imul eax, dword [esp + 0x34], 0x64
push 7
push str.________d____________s_______s
add eax, dword [esp + 0x40]
push eax
call fcn.100890d0
mov eax, dword [0x107e7d48]
add esp, 0x14
movzx eax, byte [eax + 0xb]
push eax
mov eax, 0x5878e0
call eax
xor ecx, ecx
add esp, 4
cmp al, 1
mov edx, 8
mov eax, dword [esp + 0x2c]
cmove ecx, edx
mov dword [eax*4 + 0x107e7e60], ecx
mov eax, dword [esp + 0x2c]
jmp 0x100868a5
mov edi, 0x402320
inc eax
mov esi, 0x9cf6aa
mov dword [esp + 0x2c], eax
imul eax, eax, 0x64
push 0x100ee23c
add eax, dword [esp + 0x34]
push eax
call esi
inc dword [esp + 0x3c]
add esp, 8
inc dword [esp + 0x2c]
mov ecx, 0x8128adc
push 0x485
call edi
push eax
imul eax, dword [esp + 0x30], 0x64
add eax, dword [esp + 0x34]
push eax
call esi
mov eax, dword [esp + 0x34]
mov dword [eax*4 + 0x107e7e60], 7
add esp, 8
inc dword [esp + 0x2c]
push 2
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.10088eb0
movzx eax, word [ebx]
push eax
mov eax, 0x5c01b0
call eax
add esp, 4
cmp al, 1
jne 0x10086931
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x6c]
mov eax, 0x7e7060
call eax
push 3
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.10088eb0
cmp byte [ebx + 0x49], 0
je 0x10086a59
cmp dword [0x102c73b8], 1
je 0x10086969
movzx eax, word [ebx]
push eax
mov eax, 0x7e7870
call eax
test al, al
jne 0x10086a59
mov eax, 0x50bd10
lea ecx, [esp + 0x78]
call eax
mov ecx, dword [0xe82c30]
test ecx, ecx
je 0x10086a4e
movsx eax, word [ebx]
push eax
lea eax, [esp + 0x7c]
push eax
mov eax, 0x4083f0
call eax
mov eax, dword [esp + 0x2c]
imul ecx, eax, 0x64
inc eax
push 0x100ee23c
mov dword [esp + 0x30], eax
add ecx, dword [esp + 0x34]
push ecx
call fcn.100890d0
inc dword [esp + 0x3c]
lea ecx, [esp + 0x80]
add esp, 8
mov edi, 0x408810
xor esi, esi
call edi
test eax, eax
jle 0x10086a2c
mov ebx, 0x50bde0
nop dword [eax]
push esi
lea ecx, [esp + 0x7c]
call ebx
mov ecx, eax
mov eax, 0x402880
call eax
push eax
imul eax, dword [esp + 0x30], 0x64
push 0x100ee240
add eax, dword [esp + 0x38]
push eax
call fcn.100890d0
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x84]
add esp, 0xc
inc esi
mov dword [eax*4 + 0x107e7e60], 0xb
mov eax, dword [esp + 0x2c]
mov dword [eax*4 + 0x107e7d70], 1
inc dword [esp + 0x2c]
call edi
cmp esi, eax
jl 0x100869d0
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x2c]
imul ecx, eax, 0x64
inc eax
push 0x100ee23c
mov dword [esp + 0x30], eax
add ecx, dword [esp + 0x34]
push ecx
call fcn.100890d0
add esp, 8
inc dword [esp + 0x34]
mov eax, 0x50bd70
lea ecx, [esp + 0x78]
call eax
cmp dword [0x102c73b0], 1
je 0x10086a75
xor eax, eax
cmp byte [ebx + eax + 0x4a], 0xff
jne 0x10086c5b
inc eax
cmp eax, 5
jl 0x10086a64
cmp word [ebx + 0x45], 0
je 0x10086c5b
movsx eax, word [ebx]
push eax
mov eax, 0x47bcf0
call eax
mov edi, eax
cmp edi, 3
jge 0x10086c5b
movzx ecx, word [ebx + 0x45]
mov eax, 0x47bd70
push ecx
push edi
call eax
test al, al
mov eax, dword [esp + 0x2c]
push 0x100ee23c
je 0x10086b8d
imul ecx, eax, 0x64
inc eax
mov dword [esp + 0x30], eax
add ecx, dword [esp + 0x34]
push ecx
call fcn.100890d0
movzx eax, word [ebx + 0x45]
lea esi, [esp + 0x140]
inc dword [esp + 0x3c]
add esp, 8
mov ecx, dword [0xe82c2c]
push eax
push edi
mov eax, 0x47c170
call eax
mov ecx, esi
mov edx, 0xb4
sub eax, ecx
mov cl, byte [esi + eax]
lea esi, [esi + 1]
mov byte [esi - 1], cl
sub edx, 1
jne 0x10086af0
cmp edi, 2
jne 0x10086b0f
cmp word [ebx + 0x45], 7
mov edx, str._s__d__
je 0x10086b14
mov edx, str._s__d
movsx eax, word [ebx + 0x47]
imul ecx, dword [esp + 0x2c], 0x64
mov eax, dword [esp + eax*4 + 0x17c]
push eax
add ecx, dword [esp + 0x34]
lea eax, [esp + 0x140]
push eax
push edx
push ecx
call fcn.100890d0
movsx eax, word [ebx + 0x47]
mov edx, 0xa
cmp dword [esp + 0x64], eax
mov ecx, 3
mov eax, dword [esp + 0x3c]
cmovl ecx, edx
push 0x100ee23c
mov dword [eax*4 + 0x107e7e60], ecx
mov eax, dword [esp + 0x40]
mov dword [eax*4 + 0x107e7d70], 1
mov ecx, dword [esp + 0x40]
inc ecx
lea eax, [ecx + 1]
mov dword [esp + 0x40], eax
imul eax, ecx, 0x64
add eax, dword [esp + 0x44]
push eax
call fcn.100890d0
add esp, 0x18
jmp 0x10086c57
imul ecx, eax, 0x64
inc eax
mov dword [esp + 0x30], eax
add ecx, dword [esp + 0x34]
push ecx
call fcn.100890d0
movsx eax, word [ebx + 0x47]
add esp, 8
inc dword [esp + 0x34]
mov ecx, 0x8128adc
mov esi, 0x402320
push eax
movzx eax, word [ebx + 0x45]
push eax
push edi
push 0x89c
call esi
push eax
imul eax, dword [esp + 0x3c], 0x64
push str._s_:__d__d__d
add eax, dword [esp + 0x44]
push eax
call fcn.100890d0
mov eax, dword [esp + 0x44]
add esp, 0x18
mov ecx, 0x8128adc
mov dword [eax*4 + 0x107e7e60], 5
mov eax, dword [esp + 0x2c]
push 0x89d
mov dword [eax*4 + 0x107e7d70], 1
inc dword [esp + 0x30]
call esi
push eax
imul eax, dword [esp + 0x30], 0x64
add eax, dword [esp + 0x34]
push eax
call fcn.100890d0
mov eax, dword [esp + 0x34]
push 0x100ee23c
mov dword [eax*4 + 0x107e7e60], 5
mov eax, dword [esp + 0x38]
mov dword [eax*4 + 0x107e7d70], 1
mov ecx, dword [esp + 0x38]
inc ecx
lea eax, [ecx + 1]
mov dword [esp + 0x38], eax
imul eax, ecx, 0x64
add eax, dword [esp + 0x3c]
push eax
call fcn.100890d0
add esp, 0x10
inc dword [esp + 0x34]
push dword [esp + 0x2c]
mov eax, 0x4eadd0
push ebx
call eax
cmp byte [ebx + 0x25], 0
mov ecx, 0x1a6d
mov edx, eax
mov dword [esp + 0x2c], edx
lea esi, [ecx + 6]
jle 0x10086e6b
movzx eax, word [ebx]
cmp ax, cx
jl 0x10086c8c
cmp ax, si
jle 0x10086cb5
lea eax, [edx + 1]
mov dword [esp + 0x2c], eax
imul eax, edx, 0x64
push 0x100ee23c
add eax, dword [esp + 0x34]
push eax
call fcn.100890d0
mov edx, dword [esp + 0x34]
add esp, 8
inc dword [esp + 0x34]
mov ecx, 0x1a6d
cmp byte [ebx + 0x25], 0
jle 0x10086e6b
mov eax, 0xffffffca
lea esi, [ebx + 0x36]
sub eax, ebx
lea edi, [ebx + 0x26]
mov dword [esp + 0x64], eax
movzx eax, word [ebx]
cmp ax, cx
jl 0x10086ce6
mov ecx, 0x1a73
cmp ax, cx
jle 0x10086e6b
push 0
push 0
lea eax, [esp + 0x70]
push eax
movzx eax, word [edi]
push 0
push 1
push eax
mov eax, 0x5961f0
call eax
push dword [esp + 0x80]
movzx eax, byte [esi]
push eax
movzx eax, word [edi]
push eax
imul eax, dword [esp + 0x50], 0x64
add eax, dword [esp + 0x54]
push eax
movsx eax, word [ebx]
push eax
mov eax, 0x5c2f70
call eax
mov eax, dword [esp + 0x58]
add esp, 0x2c
mov dword [eax*4 + 0x107e7e60], 1
mov edx, dword [esp + 0x2c]
movzx eax, word [edi]
inc edx
mov dword [esp + 0x2c], edx
cmp eax, 0x55
jne 0x10086d7e
movzx eax, byte [esi]
mov ecx, 0x8128adc
push eax
push 0x5e
mov eax, 0x402320
call eax
push eax
imul eax, dword [esp + 0x34], 0x64
add eax, dword [esp + 0x38]
push eax
call fcn.100890d0
mov eax, dword [esp + 0x38]
add esp, 0xc
mov dword [eax*4 + 0x107e7e60], 1
jmp 0x10086e47
cmp eax, 0x31
jne 0x10086d8d
push 0xb3
jmp 0x10086e19
cmp eax, 0x3e
je 0x10086e14
mov ecx, 0x1fe
cmp ax, cx
je 0x10086e14
mov ecx, 0x204
cmp ax, cx
je 0x10086e14
mov ecx, 0x200
cmp ax, cx
je 0x10086e14
cmp eax, 0x50
jne 0x10086e50
movzx eax, word [ebx]
cmp ax, 0x1f
je 0x10086dde
cmp ax, 0x15
je 0x10086dde
cmp ax, 0x17
je 0x10086dde
cmp ax, 0x19
je 0x10086dde
cmp ax, 0x1c
jne 0x10086e50
movzx eax, byte [esi]
mov ecx, 0x8128adc
push eax
push 0x59
mov eax, 0x402320
call eax
push eax
imul eax, dword [esp + 0x34], 0x64
add eax, dword [esp + 0x38]
push eax
call fcn.100890d0
mov eax, dword [esp + 0x38]
add esp, 0xc
mov dword [eax*4 + 0x107e7e60], 1
jmp 0x10086e47
push 0x4b1
mov ecx, 0x8128adc
mov eax, 0x402320
call eax
push eax
imul eax, dword [esp + 0x30], 0x64
add eax, dword [esp + 0x34]
push eax
call fcn.100890d0
mov eax, dword [esp + 0x34]
add esp, 8
mov dword [eax*4 + 0x107e7e60], 5
mov edx, dword [esp + 0x2c]
inc edx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x64]
inc esi
movsx eax, byte [ebx + 0x25]
add ecx, esi
add edi, 2
cmp ecx, eax
mov ecx, 0x1a6d
jl 0x10086cd0
imul eax, edx, 0x64
inc edx
push 0x100ee23c
mov dword [esp + 0x30], edx
add eax, dword [esp + 0x34]
push eax
call fcn.100890d0
inc dword [esp + 0x3c]
add esp, 8
cmp byte [ebx + 0x61], 1
jne 0x10086f2b
cmp byte [ebx + 0x62], 1
mov ecx, 0x8128adc
mov eax, 0x402320
jne 0x10086ece
push 0xcc2
call eax
push eax
imul eax, dword [esp + 0x30], 0x64
add eax, dword [esp + 0x34]
push eax
call fcn.100890d0
mov eax, dword [esp + 0x34]
add esp, 8
mov dword [eax*4 + 0x107e7e60], 2
jmp 0x10086f27
push 0xcc1
call eax
push eax
imul eax, dword [esp + 0x30], 0x64
add eax, dword [esp + 0x34]
push eax
call fcn.100890d0
mov eax, dword [esp + 0x34]
push dword [esp + 0x44]
push str._Y__m__d___H:_M
mov dword [eax*4 + 0x107e7e60], 0xd
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
imul eax, eax, 0x64
push 0x64
add eax, dword [esp + 0x44]
push eax
call fcn.100cc0f2
mov eax, dword [esp + 0x44]
add esp, 0x18
mov dword [eax*4 + 0x107e7e60], 1
inc dword [esp + 0x2c]
push 4
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.10088eb0
cmp byte [ebp + 0x1c], 0
jne 0x100870cb
mov eax, 0x861110
call eax
mov edx, 0x861260
mov ecx, eax
call edx
mov edx, 0x83bf60
mov ecx, eax
call edx
cmp eax, 0xffffffff
je 0x10086f6f
mov byte [esp + 0x3c], 0
cmp eax, 0xb
jbe 0x10086f74
mov byte [esp + 0x3c], 1
push dword [esp + 0x3c]
mov eax, 0x588d70
push dword [esp + 0x30]
push ebx
call eax
mov edx, 0x4ec410
mov ecx, eax
call edx
push eax
mov dword [esp + 0x30], eax
mov ecx, 0x986c1b8
push ebx
mov eax, 0x968880
call eax
push 0x100ee23c
lea ecx, [eax + 1]
imul eax, eax, 0x64
mov dword [esp + 0x30], ecx
add eax, dword [esp + 0x34]
push eax
call fcn.100890d0
inc dword [esp + 0x3c]
add esp, 8
mov dword [esp + 0x68], 0
mov edi, 0x41fe10
mov dword [esp + 0x6c], 0
movss xmm0, dword [0xe7c3d8]
cvtps2pd xmm0, xmm0
mov esi, dword [ebp + 0xc]
push dword [0xe8c588]
divsd xmm0, qword [0x100f1730]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x40], xmm0
call edi
mov edx, 0x420120
mov ecx, eax
call edx
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x34]
push 1
push eax
call edi
mov edx, 0x41ff80
mov ecx, eax
call edx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov edi, dword [esp + 0x2c]
mov eax, edi
sub eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x6c]
imul eax, ecx
imul ecx, dword [esp + 0x34]
movd xmm2, esi
cvtdq2ps xmm2, xmm2
movd xmm1, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm0, qword [0x100f16d8]
addsd xmm1, xmm0
movss xmm0, dword [esp + 0x3c]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
movss xmm0, dword [0x100f20c8]
cvtpd2ps xmm1, xmm1
addss xmm1, xmm2
comiss xmm1, xmm0
jbe 0x1008708a
subss xmm0, xmm1
addss xmm0, xmm2
cvttss2si esi, xmm0
push dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
test esi, esi
push 1
push 0
push 3
push 0
mov eax, 0x14
push edi
cmovs esi, eax
push esi
push dword [ebp + 8]
push ebx
call fcn.10088620
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x230]
xor ecx, esp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 0x18
push dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push 1
push 8
push 3
push 0
push dword [esp + 0x40]
push 0
push 0
push ebx
call fcn.10088620
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x230]
xor ecx, esp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 0x18
call eax
mov edx, 0x861260
mov ecx, eax
call edx
mov edx, 0x83bf60
mov ecx, eax
call edx
cmp eax, 1
jne 0x100871c6
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov edi, dword [esp + 0x58]
mov ecx, dword [edi + 4]
add ecx, 0x3e8
cmp eax, ecx
jbe 0x100871c6
mov dword [esp + 0x3d], 0
mov byte [esp + 0x41], 0
mov dword [esp + 0x3c], 0xa906c1
mov byte [esp + 0x41], 1
jmp 0x100871ac
mov eax, 0x861110
call eax
mov edx, 0x861260
mov ecx, eax
call edx
mov edx, 0x83bf60
mov ecx, eax
call edx
cmp eax, 8
jne 0x100871c6
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov edi, dword [esp + 0x58]
mov ecx, dword [edi + 4]
add ecx, 0x3e8
cmp eax, ecx
jbe 0x100871c6
mov dword [esp + 0x3d], 0
mov byte [esp + 0x41], 0
mov dword [esp + 0x3c], 0x1a906c1
mov byte [esp + 0x41], 8
mov eax, dword [ebp + 0x18]
lea ecx, [esp + 0x3c]
mov edx, 6
mov byte [esp + 0x40], al
call fcn.100b5120
call esi
mov dword [edi + 4], eax
push dword [ebp + 0x18]
mov eax, 0x4f9cb0
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call eax
mov ecx, dword [esp + 0x24c]
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 0x18