Function at 0x41c9a0
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b44e6
mov eax, dword fs:[0]
push eax
sub esp, 0x9a8
mov eax, dword [0x4e0138]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x984], edi
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
push 0x800
mov dword [ebp - 0x974], eax
lea eax, [ebp - 0x810]
push 0
push eax
mov dword [ebp - 0x98c], 0
call fcn.0048f850
add esp, 0xc
mov dword [ebp - 0x980], 0
mov edx, esi
lea ecx, [ebp - 0x8f0]
call fcn.0041c400
push dword [ebp + 0xc]
lea eax, [ebp - 0x8f0]
push eax
lea ecx, [ebp - 0x95c]
call fcn.0041fa00
lea ecx, [ebp - 0x810]
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x99c], ecx
lea eax, [edi + 0x1c]
lea ecx, [ebp - 0x818]
mov dword [ebp - 0x814], 0x4e0bf0
push ecx
push ecx
lea ecx, [ebp - 0x95c]
mov dword [ebp - 0x998], 0x800
push ecx
lea ecx, [ebp - 0x99c]
mov dword [ebp - 0x81c], eax
push ecx
push eax
call fcn.004221a0
cmp dword [ebp - 0x818], 0
mov edi, eax
je 0x41cb0d
push 0x17
xorps xmm0, xmm0
mov dword [ebp - 0x894], 0
push str.5_1Server_is_down.5
lea ecx, [ebp - 0x8a4]
mov dword [ebp - 0x890], 0
movups xmmword [ebp - 0x8a4], xmm0
call fcn.004127b0
lea eax, [ebp - 0x8a4]
mov ecx, 0x4e6a94
push eax
call fcn.004102c0
mov ecx, dword [ebp - 0x890]
cmp ecx, 0x10
jb 0x41cb06
mov edx, dword [ebp - 0x8a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41cafc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f665
push ecx
push edx
call fcn.004885c3
add esp, 8
mov eax, edi
jmp 0x41f63e
cmp dword [0x4e6aa8], 0x10
mov ecx, 0x4e6a94
mov edx, dword [0x4e6aa4]
cmovae ecx, dword [0x4e6a94]
push 5
push str.down.
push 0
call fcn.004217d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x41cbb7
push 0x18
xorps xmm0, xmm0
mov dword [ebp - 0x894], 0
push str.5_3Server_is_empty.5
lea ecx, [ebp - 0x8a4]
mov dword [ebp - 0x890], 0
movups xmmword [ebp - 0x8a4], xmm0
call fcn.004127b0
lea eax, [ebp - 0x8a4]
mov ecx, 0x4e6a94
push eax
call fcn.004102c0
mov ecx, dword [ebp - 0x890]
cmp ecx, 0x10
jb 0x41cbb7
mov edx, dword [ebp - 0x8a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41cbad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f665
push ecx
push edx
call fcn.004885c3
add esp, 8
mov esi, dword [ebp - 0x974]
mov eax, esi
cmp dword [esi + 0x14], 0x10
jb 0x41cbc7
mov eax, dword [esi]
mov dword [esi + 0x10], 0
mov byte [eax], 0
test edi, edi
je 0x41f638
lea ecx, [ebp - 0x810]
mov dword [ebp - 0x980], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41cbe8
sub ecx, edx
lea eax, [ebp - 0x810]
push ecx
push eax
mov ecx, esi
call fcn.00411270
mov edx, 0x4c75c8
lea ecx, [ebp - 0x810]
call fcn.0041f680
test eax, eax
je 0x41cc75
xor al, al
mov ecx, 0x4e6998
xchg byte [ecx], al
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 0
push dword [0x4e3460]
call esi
push 0
push dword [0x4e3464]
call esi
push 0
push dword [0x4e3468]
call esi
push 0
push dword [0x4e346c]
call esi
push 0
push dword [0x4e3484]
call esi
push 0
push dword [0x4e3488]
call esi
push 0
push dword [0x4e345c]
call esi
xor ecx, ecx
call fcn.0046e2b0
jmp 0x41f638
mov eax, dword [0x4e69a8]
dec eax
cmp eax, 3
ja case.0x41cc80.2
jmp dword [eax*4 + 0x41f66c]
mov eax, dword [str.num_score_ping_name____________lastmsg_address_______________qport_rate_n]
jmp 0x41cca7
mov eax, dword [str.num_score_ping_guid_____________________________name____________lastmsg_address_______________qport_rate_n]
jmp 0x41cca7
mov eax, dword [str.num_score_ping_guid_______name____________lastmsg_address_______________qport__rate_n]
mov edi, dword [str.num_score_ping_guid_______name____________team_lastmsg_address_______________qport__rate_n]
jmp 0x41cca9
mov eax, dword [str.num_score_ping_guid___name____________lastmsg_address_______________qport_rate_n]
xor edi, edi
push eax
lea eax, [ebp - 0x810]
push eax
call fcn.0048f060
add esp, 8
test eax, eax
jne 0x41dcc2
test edi, edi
je 0x41ccdd
lea eax, [ebp - 0x810]
push edi
push eax
call fcn.0048f060
add esp, 8
test eax, eax
jne 0x41dcc2
lea eax, [ebp - 0x810]
push str.infoResponse
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41ce3c
cmp byte [ebp - 0x80c], 0x69
jne 0x41ce3c
sub esp, 0x14
mov dword [ebp - 0x854], 0
lea eax, [ebp - 0x7fe]
xorps xmm0, xmm0
lea edx, [ebp - 0x81c]
mov dword [ebp - 0x81c], eax
lea ecx, [ebp - 0x85c]
movq qword [ebp - 0x85c], xmm0
call fcn.00420b70
add esp, 0x14
mov dword [ebp - 4], 0xd
mov eax, dword [ebp - 0x858]
mov ecx, eax
mov esi, dword [ebp - 0x85c]
sub ecx, esi
mov dword [ebp - 0x81c], eax
mov eax, 0x2aaaaaab
imul ecx
mov dword [ebp - 0x998], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x41ce2c
mov edi, 1
add esi, 0x18
sub esp, 0x18
xorps xmm0, xmm0
mov eax, esp
sub esp, 0x18
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [esi]
movups xmmword [eax], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [eax + 0x10], xmm0
mov eax, esp
mov dword [esi + 0x10], 0
xorps xmm0, xmm0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [esi - 0x18]
movups xmmword [eax], xmm0
movq xmm0, qword [esi - 8]
movq qword [eax + 0x10], xmm0
mov dword [esi - 8], 0
mov dword [esi - 4], 0xf
mov byte [esi - 0x18], 0
call fcn.00463640
mov ecx, dword [ebp - 0x81c]
lea esi, [esi + 0x30]
sub ecx, dword [ebp - 0x998]
mov eax, 0x2aaaaaab
imul ecx
add edi, 2
add esp, 0x30
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x41cd83
lea ecx, [ebp - 0x85c]
call fcn.00410f00
jmp 0x41f638
lea eax, [ebp - 0x810]
push str.statusResponse
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41d529
cmp byte [ebp - 0x80c], 0x73
jne 0x41d529
cmp byte [ebp + 0x14], 0
je 0x41f638
lea eax, [ebp - 0x7fc]
push 0xa
push eax
call fcn.0048ed50
add esp, 4
mov dword [ebp - 0x990], eax
lea ecx, [ebp - 0x8ec]
push eax
lea eax, [ebp - 0x7fc]
push eax
call fcn.00420730
sub esp, 0x10
mov dword [ebp - 4], 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x854], 0
lea edx, [ebp - 0x8ec]
movq qword [ebp - 0x85c], xmm0
lea ecx, [ebp - 0x85c]
push 0x4c6d04
call fcn.00420780
add esp, 0x14
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x858]
mov ecx, eax
mov esi, dword [ebp - 0x85c]
sub ecx, esi
mov dword [ebp - 0x81c], eax
mov eax, 0x2aaaaaab
imul ecx
mov dword [ebp - 0x998], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x41cfbc
mov edi, 1
add esi, 0x18
sub esp, 0x18
xorps xmm0, xmm0
mov eax, esp
sub esp, 0x18
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [esi]
movups xmmword [eax], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [eax + 0x10], xmm0
mov eax, esp
mov dword [esi + 0x10], 0
xorps xmm0, xmm0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [esi - 0x18]
movups xmmword [eax], xmm0
movq xmm0, qword [esi - 8]
movq qword [eax + 0x10], xmm0
mov dword [esi - 8], 0
mov dword [esi - 4], 0xf
mov byte [esi - 0x18], 0
call fcn.00463640
mov ecx, dword [ebp - 0x81c]
lea esi, [esi + 0x30]
sub ecx, dword [ebp - 0x998]
mov eax, 0x2aaaaaab
imul ecx
add edi, 2
add esp, 0x30
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x41cf13
mov esi, dword [ebp - 0x990]
xor ecx, ecx
inc esi
mov dword [ebp - 0x964], 0
xor edx, edx
mov dword [ebp - 0x974], ecx
mov dword [ebp - 0x968], edx
mov edi, esi
mov eax, esi
cmp byte [esi], cl
je 0x41d4c4
lea edx, [ebp - 0x810]
mov dword [ebp - 0x984], ecx
add edx, dword [ebp - 0x980]
mov dword [ebp - 0x81c], edx
cmp eax, edx
jae 0x41d4b8
cmp byte [esi], 0xa
je 0x41d016
nop
inc esi
cmp byte [esi], 0xa
jne 0x41d010
mov dword [ebp - 0x8f8], 0
lea eax, [esi + 1]
mov dword [ebp - 0x990], eax
xorps xmm0, xmm0
mov dword [ebp - 0x8f4], 0
movups xmmword [ebp - 0x908], xmm0
cmp edi, esi
jne 0x41d05f
mov eax, 0xf
mov dword [ebp - 0x8f8], 0
mov dword [ebp - 0x8f4], eax
mov byte [ebp - 0x908], 0
jmp 0x41d074
sub esi, edi
lea ecx, [ebp - 0x908]
push esi
push edi
call fcn.004127b0
mov eax, dword [ebp - 0x8f4]
cmp eax, 0x10
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x908]
cmovae ecx, dword [ebp - 0x908]
cmp byte [ecx], 0x20
jne 0x41d096
nop dword [eax]
inc ecx
cmp byte [ecx], 0x20
je 0x41d090
mov esi, ecx
inc esi
cmp byte [esi], 0x20
jne 0x41d098
mov dword [ebp - 0x840], 0
xorps xmm0, xmm0
mov dword [ebp - 0x83c], 0
movups xmmword [ebp - 0x850], xmm0
cmp ecx, esi
jne 0x41d0dd
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x83c], 0xf
mov byte [ebp - 0x850], 0
jmp 0x41d0ee
mov eax, esi
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x850]
call fcn.004127b0
mov edx, str.__t_n_f_v_r
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x850]
call fcn.00420f10
lea edx, [ebp - 0x98c]
lea ecx, [ebp - 0x850]
call fcn.00444b50
xor ecx, ecx
test al, al
mov eax, dword [ebp - 0x98c]
cmove eax, ecx
cmp byte [esi], 0x20
mov dword [ebp - 0x98c], eax
jne 0x41d136
nop dword [eax + eax]
inc esi
cmp byte [esi], 0x20
je 0x41d130
mov edi, esi
inc edi
cmp byte [edi], 0x20
jne 0x41d138
mov dword [ebp - 0x8ac], ecx
xorps xmm0, xmm0
mov dword [ebp - 0x8a8], ecx
movups xmmword [ebp - 0x8bc], xmm0
cmp esi, edi
jne 0x41d170
mov dword [ebp - 0x8ac], ecx
mov dword [ebp - 0x8a8], 0xf
mov byte [ebp - 0x8bc], cl
jmp 0x41d181
mov eax, edi
lea ecx, [ebp - 0x8bc]
sub eax, esi
push eax
push esi
call fcn.004127b0
mov edx, str.__t_n_f_v_r
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x8bc]
call fcn.00420f10
cmp dword [ebp - 0x8a8], 0x10
lea ecx, [ebp - 0x8bc]
mov esi, dword [ebp - 0x8bc]
mov edx, dword [ebp - 0x8ac]
cmovae ecx, esi
push 3
push 0x4c75f4
setae byte [ebp - 0x95d]
call fcn.00413b30
add esp, 8
test al, al
jne 0x41d2ad
mov al, byte [ebp - 0x95d]
lea ecx, [ebp - 0x8bc]
mov edx, dword [ebp - 0x8ac]
test al, al
cmovne ecx, esi
cmp edx, 2
jne 0x41d211
movzx eax, byte [ecx]
cmp al, 0x2d
jne 0x41d1fe
movzx eax, byte [ecx + 1]
cmp al, 0x31
jne 0x41d1fe
xor eax, eax
jmp 0x41d203
sbb eax, eax
or eax, 1
test eax, eax
je 0x41d2ad
mov al, byte [ebp - 0x95d]
test al, al
lea ecx, [ebp - 0x8bc]
cmovne ecx, esi
cmp edx, 4
jne 0x41d261
mov eax, dword [ecx]
mov edx, str.CNCT
cmp eax, dword [edx]
je 0x41d248
cmp al, byte [edx]
jne 0x41d24c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41d24c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41d24c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x41d24c
xor eax, eax
jmp 0x41d251
sbb eax, eax
or eax, 1
test eax, eax
je 0x41d2ad
mov edx, dword [ebp - 0x8ac]
mov al, byte [ebp - 0x95d]
test al, al
lea ecx, [ebp - 0x8bc]
cmovne ecx, esi
cmp edx, 4
jne 0x41d2a5
mov eax, dword [ecx]
mov edx, str.ZMBI
cmp eax, dword [edx]
je 0x41d298
cmp al, byte [edx]
jne 0x41d29c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41d29c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41d29c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x41d29c
xor eax, eax
jmp 0x41d2a1
sbb eax, eax
or eax, 1
test eax, eax
je 0x41d2ad
inc dword [ebp - 0x974]
jmp 0x41d2b3
inc dword [ebp - 0x968]
cmp byte [edi], 0x22
je 0x41d2be
inc edi
cmp byte [edi], 0x22
jne 0x41d2b8
inc edi
mov esi, edi
cmp byte [edi], 0x22
je 0x41d2cc
inc esi
cmp byte [esi], 0x22
jne 0x41d2c6
mov ecx, dword [0x4e6b14]
mov edx, dword [ebp - 0x984]
mov eax, dword [ebp - 0x964]
inc eax
mov dword [ebp - 0x964], eax
mov dword [ecx + edx + 0xa0], eax
mov eax, dword [0x4e6b14]
mov ecx, dword [ebp - 0x98c]
mov dword [edx + eax + 0xa4], ecx
lea ecx, [ebp - 0x8bc]
cmp dword [ebp - 0x8a8], 0x10
mov eax, dword [0x4e6b14]
cmovae ecx, dword [ebp - 0x8bc]
add edx, 0x73
push ecx
add eax, edx
push 5
push eax
call fcn.0049af24
mov eax, dword [0x4e6b14]
sub esi, edi
add eax, dword [ebp - 0x984]
push esi
push edi
push 0x21
push eax
call fcn.0049a784
mov eax, dword [0x4e6b14]
add esp, 0x1c
mov edi, dword [ebp - 0x984]
add eax, edi
mov byte [eax + esi], 0
mov ecx, dword [0x4e6b14]
lea ecx, [edi + ecx]
call fcn.004211b0
mov eax, dword [0x4e6b14]
mov esi, dword [ebp - 0x990]
mov dword [edi + eax + 0x90], str.Unknown
mov eax, dword [0x4e6b14]
mov dword [edi + eax + 0x94], str.Unknown
mov eax, dword [0x4e6b14]
mov dword [edi + eax + 0x98], str.Unknown
mov eax, dword [0x4e6b14]
mov byte [ebp - 4], 0x11
mov dword [edi + eax + 0x9c], 0x4c7638
add edi, 0xc0
mov ecx, dword [ebp - 0x8a8]
mov dword [ebp - 0x984], edi
mov edi, esi
cmp ecx, 0x10
jb 0x41d3f0
mov edx, dword [ebp - 0x8bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d3e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f660
push ecx
push edx
call fcn.004885c3
add esp, 8
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x83c]
mov dword [ebp - 0x8ac], 0
mov dword [ebp - 0x8a8], 0xf
mov byte [ebp - 0x8bc], 0
cmp ecx, 0x10
jb 0x41d449
mov edx, dword [ebp - 0x850]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d43f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f660
push ecx
push edx
call fcn.004885c3
add esp, 8
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x8f4]
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x83c], 0xf
mov byte [ebp - 0x850], 0
cmp ecx, 0x10
jb 0x41d4a2
mov edx, dword [ebp - 0x908]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d498
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f660
push ecx
push edx
call fcn.004885c3
add esp, 8
mov eax, dword [ebp - 0x990]
cmp byte [eax], 0
je 0x41d4b8
mov edx, dword [ebp - 0x81c]
jmp 0x41d001
mov edx, dword [ebp - 0x968]
mov ecx, dword [ebp - 0x974]
mov eax, dword [ebp - 0x964]
mov dword [0x4e6edc], ecx
lea ecx, [ebp - 0x85c]
mov dword [0x4e6ee4], eax
mov dword [0x4e6ee0], edx
call fcn.00410f00
mov ecx, dword [ebp - 0x8d8]
cmp ecx, 0x10
jb 0x41f638
mov edx, dword [ebp - 0x8ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d51a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f660
push ecx
push edx
call fcn.004885c3
add esp, 8
jmp 0x41f638
lea eax, [ebp - 0x810]
push str.Server_info
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41d741
mov eax, dword [0x4e6aac]
mov dword [ebp - 0x81c], eax
mov edi, dword [eax + 4]
cmp byte [edi + 0xd], 0
jne 0x41d595
nop dword [eax]
push dword [edi + 8]
mov ecx, 0x4e6aac
push 0x4e6aac
call fcn.004215d0
mov esi, edi
mov edi, dword [edi]
lea ecx, [esi + 0x10]
call fcn.00422f20
push 0x40
push esi
call fcn.004885c3
add esp, 8
cmp byte [edi + 0xd], 0
je 0x41d560
mov eax, dword [ebp - 0x81c]
mov dword [eax + 4], eax
lea edi, [ebp - 0x7f0]
mov dword [eax], eax
mov dword [eax + 8], eax
cmp byte [ebp - 0x7f0], 0
mov dword [0x4e6ab0], 0
je 0x41f638
mov ecx, dword [ebp - 0x980]
lea eax, [ebp - 0x810]
add ecx, eax
mov esi, edi
mov dword [ebp - 0x81c], ecx
mov eax, edi
cmp eax, ecx
jae 0x41f638
cmp byte [edi], 0x20
je 0x41d5e6
nop
inc esi
cmp byte [esi], 0x20
jne 0x41d5e0
mov dword [ebp - 0x858], 0
xorps xmm0, xmm0
mov dword [ebp - 0x854], 0
movups xmmword [ebp - 0x868], xmm0
cmp edi, esi
jne 0x41d625
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x854], 0xf
mov byte [ebp - 0x868], 0
jmp 0x41d636
mov eax, esi
lea ecx, [ebp - 0x868]
sub eax, edi
push eax
push edi
call fcn.004127b0
mov dword [ebp - 4], 0x13
mov al, byte [esi]
cmp al, 0x20
jne 0x41d64b
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x41d643
mov edi, esi
cmp al, 0xa
je 0x41d657
inc edi
cmp byte [edi], 0xa
jne 0x41d651
mov dword [ebp - 0x840], 0
xorps xmm0, xmm0
mov dword [ebp - 0x83c], 0
movups xmmword [ebp - 0x850], xmm0
cmp esi, edi
jne 0x41d696
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x83c], 0xf
mov byte [ebp - 0x850], 0
jmp 0x41d6a7
mov eax, edi
lea ecx, [ebp - 0x850]
sub eax, esi
push eax
push esi
call fcn.004127b0
mov byte [ebp - 4], 0x14
sub esp, 0x18
movups xmm0, xmmword [ebp - 0x850]
mov eax, esp
mov byte [ebp - 0x850], 0
sub esp, 0x18
inc edi
mov esi, edi
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x840]
movq qword [eax + 0x10], xmm0
mov eax, esp
movups xmm0, xmmword [ebp - 0x868]
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x83c], 0xf
movups xmmword [eax], xmm0
mov byte [ebp - 0x868], 0
movq xmm0, qword [ebp - 0x858]
movq qword [eax + 0x10], xmm0
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x854], 0xf
call fcn.00463640
mov dword [ebp - 4], 0xffffffff
add esp, 0x30
cmp byte [edi], 0
mov eax, edi
mov ecx, dword [ebp - 0x81c]
jne 0x41d5d2
jmp 0x41f638
lea eax, [ebp - 0x810]
push str.map_rotate..._n_n
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41d8d5
push 1
mov ecx, 0x4e6998
call fcn.0041f8b0
lea eax, [ebp - 0x810]
mov ecx, esi
push eax
call fcn.0041fdf0
push 0x800
lea eax, [ebp - 0x810]
mov dword [ebp - 0x818], 0
push 0
push eax
mov dword [ebp - 0x814], 0x4e0bf0
call fcn.0048f850
add esp, 0xc
mov dword [ebp - 0x81c], 0x800
lea ecx, [ebp - 0x818]
lea eax, [ebp - 0x810]
mov dword [ebp - 0x820], eax
mov eax, dword [ebp - 0x984]
push ecx
push ecx
lea ecx, [ebp - 0x95c]
add eax, 0x1c
push ecx
lea ecx, [ebp - 0x820]
push ecx
push eax
call fcn.004221a0
cmp dword [ebp - 0x818], 0
mov dword [ebp - 0x990], eax
jne 0x41f638
nop
lea edi, [ebp - 0x810]
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x41d800
mov edx, dword [esi + 0x14]
sub edi, ecx
mov ecx, dword [esi + 0x10]
mov eax, edx
sub eax, ecx
cmp edi, eax
ja 0x41d846
lea eax, [ecx + edi]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x41d826
mov eax, dword [esi]
lea esi, [ecx + eax]
push edi
lea eax, [ebp - 0x810]
push eax
push esi
call fcn.0048f2d0
mov byte [esi + edi], 0
add esp, 0xc
mov esi, dword [ebp - 0x974]
jmp 0x41d85c
push edi
lea eax, [ebp - 0x810]
mov ecx, esi
push eax
push dword [ebp - 0x814]
push edi
call fcn.00412ab0
mov eax, dword [ebp - 0x980]
add eax, dword [ebp - 0x990]
push 0x800
mov dword [ebp - 0x980], eax
lea eax, [ebp - 0x810]
push 0
push eax
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x814], 0x4e0bf0
call fcn.0048f850
add esp, 0xc
lea eax, [ebp - 0x818]
push eax
push ecx
lea eax, [ebp - 0x95c]
push eax
lea eax, [ebp - 0x820]
push eax
mov eax, dword [ebp - 0x984]
add eax, 0x1c
push eax
call fcn.004221a0
cmp dword [ebp - 0x818], 0
mov dword [ebp - 0x990], eax
je 0x41d7f0
jmp 0x41f638
lea eax, [ebp - 0x810]
push str.sv_mapRotationCurrent
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41d9c2
push 1
mov ecx, 0x4e6998
call fcn.0041f8b0
mov edx, 0x4c7670
lea ecx, [ebp - 0x7e9]
call fcn.0041f680
lea ecx, [ebp - 0x7e9]
sub esp, 0x18
cmp ecx, eax
mov ecx, esp
jne 0x41d935
push 0x4c7674
call fcn.00410390
mov ecx, 0x4e6aac
call fcn.0041c6e0
jmp 0x41f638
push ecx
push eax
lea eax, [ebp - 0x7e9]
push eax
call fcn.00420730
mov ecx, 0x4e6aac
call fcn.0041c6e0
lea eax, [ebp - 0x7e9]
push str.gametype
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41f638
lea eax, [ebp - 0x7e9]
push 0x4c7684
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41f638
add eax, 4
cmp byte [eax], 0x20
jne 0x41d996
nop dword [eax]
inc eax
cmp byte [eax], 0x20
je 0x41d990
cmp byte [eax], 0x20
mov edx, eax
je 0x41d9a6
nop dword [eax]
inc edx
cmp byte [edx], 0x20
jne 0x41d9a0
sub esp, 0x18
mov ecx, esp
push ecx
push edx
push eax
call fcn.00420730
mov ecx, 0x4e6aac
call fcn.0041c640
jmp 0x41f638
lea eax, [ebp - 0x810]
push str.sv_mapRotation
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41da18
push 1
mov ecx, 0x4e6998
call fcn.0041f8b0
mov edx, 0x4c7670
lea ecx, [ebp - 0x7f0]
call fcn.0041f680
sub esp, 0x18
mov ecx, esp
push ecx
push eax
lea eax, [ebp - 0x7f0]
push eax
call fcn.00420730
mov ecx, 0x4e6aac
call fcn.0041c690
jmp 0x41f638
lea eax, [ebp - 0x810]
push str.sv_hostname
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41da86
push 1
mov ecx, 0x4e6998
call fcn.0041f8b0
cmp byte [ebp - 0x7f3], 0x5e
lea eax, [ebp - 0x7f3]
je 0x41da64
nop dword [eax + eax]
mov dl, byte [eax + 1]
cmp dl, 0x37
je 0x41da64
cmp byte [eax + 2], 0x22
je 0x41da64
inc eax
cmp dl, 0x5e
jne 0x41da50
sub esp, 0x18
mov ecx, esp
push ecx
push eax
lea eax, [ebp - 0x7f3]
push eax
call fcn.00420730
mov ecx, 0x4e6aac
call fcn.0041c550
jmp 0x41f638
lea eax, [ebp - 0x810]
push str.mapname
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41db5c
push 1
mov ecx, 0x4e6998
call fcn.0041f8b0
mov edx, 0x4c75fc
lea ecx, [ebp - 0x7f7]
call fcn.0041f680
test eax, eax
je 0x41f638
push ecx
push eax
lea eax, [ebp - 0x7f7]
push eax
lea ecx, [ebp - 0x8ec]
call fcn.00420730
mov dword [ebp - 4], 0x15
cmp dword [0x4e0cfc], 0
je 0x41dafe
mov edx, 0x4e0cec
lea ecx, [ebp - 0x8ec]
call fcn.00411cf0
test al, al
jne 0x41db31
lea eax, [ebp - 0x8ec]
mov dword [0x4e34f8], 0
push eax
mov ecx, 0x4e0cec
call fcn.0041fe20
call fcn.0046e1e0
mov ecx, dword [0x4e3438]
sub esp, 8
xor edx, edx
call fcn.00462b30
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x8ec]
mov ecx, esp
push eax
call fcn.00410340
mov ecx, 0x4e6aac
call fcn.0041c5f0
lea ecx, [ebp - 0x8ec]
call fcn.00410270
jmp 0x41f638
lea eax, [ebp - 0x810]
push str._g_gametype__is:__
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41dbdb
lea eax, [ebp - 0x810]
push str.default:__
push eax
call fcn.0048f060
add esp, 8
test eax, eax
je 0x41dbdb
push 1
mov ecx, 0x4e6998
call fcn.0041f8b0
mov edx, str._g_gametype__is:__
lea ecx, [ebp - 0x810]
call fcn.0041f680
mov edx, 0x4c75fc
lea esi, [eax + 0x12]
mov ecx, esi
call fcn.0041f680
test eax, eax
je 0x41f638
sub esp, 0x18
mov ecx, esp
push ecx
push eax
push esi
call fcn.00420730
mov ecx, 0x4e6aac
call fcn.0041c5a0
jmp 0x41f638
push 0x800
lea eax, [ebp - 0x810]
mov dword [ebp - 0x818], 0
push 0
push eax
mov dword [ebp - 0x814], 0x4e0bf0
call fcn.0048f850
add esp, 0xc
mov dword [ebp - 0x81c], 0x800
lea eax, [ebp - 0x810]
mov dword [ebp - 0x820], eax
lea eax, [ebp - 0x818]
push eax
push ecx
mov ecx, dword [ebp - 0x984]
lea eax, [ebp - 0x95c]
push eax
lea eax, [ebp - 0x820]
push eax
lea ecx, [ecx + 0x18]
call fcn.00420710
cmp dword [ebp - 0x818], 0
mov edi, eax
jne 0x41f638
nop
lea eax, [ebp - 0x810]
mov ecx, esi
push eax
call fcn.00410190
add dword [ebp - 0x980], edi
lea eax, [ebp - 0x810]
push 0x800
push 0
push eax
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x814], 0x4e0bf0
call fcn.0048f850
add esp, 0xc
lea eax, [ebp - 0x818]
push eax
push ecx
mov ecx, dword [ebp - 0x984]
lea eax, [ebp - 0x95c]
push eax
lea eax, [ebp - 0x820]
push eax
lea ecx, [ecx + 0x18]
call fcn.00420710
cmp dword [ebp - 0x818], 0
mov edi, eax
je 0x41dc50
jmp 0x41f638
mov al, byte [0x4e6998]
test al, al
jne 0x41dd30
mov al, 1
mov ecx, 0x4e6998
xchg byte [ecx], al
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 1
push dword [0x4e3460]
call esi
push 1
push dword [0x4e3464]
call esi
push 1
push dword [0x4e3468]
call esi
push 1
push dword [0x4e346c]
call esi
push 1
push dword [0x4e3484]
call esi
push 1
push dword [0x4e3488]
call esi
push 1
push dword [0x4e345c]
call esi
mov ecx, 1
call fcn.0046e2b0
mov esi, dword [ebp - 0x974]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x41dd3a
mov ecx, dword [esi]
add ecx, 0xf
mov edi, ecx
cmp byte [ecx], 0xa
je 0x41dd4a
inc edi
cmp byte [edi], 0xa
jne 0x41dd44
mov dword [ebp - 0x840], 0
xorps xmm0, xmm0
mov dword [ebp - 0x83c], 0
movups xmmword [ebp - 0x850], xmm0
cmp ecx, edi
jne 0x41dd86
xor edx, edx
mov dword [ebp - 0x83c], 0xf
mov dword [ebp - 0x840], edx
mov byte [ebp - 0x850], dl
jmp 0x41dd9d
mov eax, edi
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x850]
call fcn.004127b0
mov edx, dword [ebp - 0x840]
mov dword [ebp - 4], 0
cmp dword [0x4e0cfc], 0
je 0x41dde7
cmp dword [0x4e0d00], 0x10
lea ecx, [ebp - 0x850]
push dword [0x4e0cfc]
mov eax, 0x4e0cec
cmovae eax, dword [0x4e0cec]
cmp dword [ebp - 0x83c], 0x10
push eax
cmovae ecx, dword [ebp - 0x850]
call fcn.00413b30
add esp, 8
test al, al
jne 0x41de2e
cmp dword [ebp - 0x83c], 0x10
lea eax, [ebp - 0x850]
push dword [ebp - 0x840]
cmovae eax, dword [ebp - 0x850]
mov ecx, 0x4e0cec
push eax
mov dword [0x4e34f8], 0
call fcn.00411270
call fcn.0046e1e0
mov ecx, dword [0x4e3438]
sub esp, 8
xor edx, edx
call fcn.00462b30
add esp, 8
movups xmm0, xmmword [ebp - 0x850]
lea eax, [ebp - 0x8a4]
mov byte [ebp - 0x850], 0
push eax
movups xmmword [ebp - 0x8a4], xmm0
mov ecx, 0x4e6c30
movq xmm0, qword [ebp - 0x840]
movq qword [ebp - 0x894], xmm0
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x83c], 0xf
call fcn.004102c0
mov ecx, dword [ebp - 0x890]
cmp ecx, 0x10
jb 0x41deb2
mov edx, dword [ebp - 0x8a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41dea8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f665
push ecx
push edx
call fcn.004885c3
add esp, 8
cmp dword [esi + 0x14], 0x10
mov eax, dword [esi + 0x10]
mov byte [ebp - 0x95d], 0
mov dword [ebp - 0x964], eax
jb 0x41dece
sub edi, dword [esi]
mov ecx, dword [esi]
jmp 0x41ded2
sub edi, esi
mov ecx, esi
push 0xa
push ecx
inc edi
mov edx, eax
push edi
call fcn.00412440
add esp, 0xc
cmp eax, 0xffffffff
jne 0x41df05
mov ecx, dword [esi + 0x14]
mov eax, esi
mov byte [ebp - 0x95d], 1
cmp ecx, 0x10
jb 0x41def9
mov eax, dword [esi]
mov dword [esi + 0x10], 0
mov byte [eax], 0
jmp 0x41df35
mov edi, dword [ebp - 0x964]
xor ecx, ecx
cmp dword [esi + 0x14], 0x10
jb 0x41df17
mov edx, dword [esi]
jmp 0x41df19
mov edx, esi
cmp edi, eax
cmovb eax, edi
add edx, ecx
sub edi, eax
add eax, edx
lea ecx, [edi + 1]
push ecx
push eax
push edx
call fcn.0048f2d0
add esp, 0xc
mov dword [esi + 0x10], edi
lea eax, [ebp - 0x810]
mov dword [ebp - 0x990], 0x800
mov dword [ebp - 0x994], eax
nop dword [eax + eax]
push 0x800
lea eax, [ebp - 0x810]
mov dword [ebp - 0x818], 0
push 0
push eax
mov dword [ebp - 0x814], 0x4e0bf0
call fcn.0048f850
add esp, 0xc
lea eax, [ebp - 0x818]
push eax
push ecx
lea eax, [ebp - 0x95c]
push eax
lea eax, [ebp - 0x994]
push eax
push dword [ebp - 0x81c]
call fcn.004221a0
add dword [ebp - 0x980], eax
test eax, eax
je 0x41e0ce
push 1
mov byte [ebp - 4], 1
call fcn.0048615f
mov ecx, eax
add esp, 4
mov dword [ebp - 0x998], ecx
xor edx, edx
cmp byte [ebp - 0x810], dl
je 0x41dfea
nop dword [eax]
inc edx
cmp edx, 0x800
je 0x41dfe5
cmp byte [ebp + edx - 0x810], 0
jne 0x41dfd0
jmp 0x41dfea
mov edx, 0x800
xor eax, eax
nop dword [eax]
inc eax
cmp eax, 0xb
je 0x41e001
cmp byte [eax + 0x4c75e4], 0
jne 0x41dff0
jmp 0x41e006
mov eax, 0xb
test edx, edx
je 0x41e032
test eax, eax
je 0x41e032
cmp eax, edx
ja 0x41e032
push eax
push 0x4c75e4
push 0
lea ecx, [ebp - 0x810]
call fcn.004217d0
mov ecx, dword [ebp - 0x998]
add esp, 0xc
mov edi, eax
jmp 0x41e035
or edi, 0xffffffff
mov byte [ebp - 4], 0
test ecx, ecx
je 0x41e052
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x41e052
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
cmp edi, 0xffffffff
je 0x41e069
lea eax, [ebp - 0x806]
mov ecx, esi
add eax, edi
push eax
call fcn.00410190
jmp 0x41e0ce
lea edi, [ebp - 0x810]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x41e072
mov edx, dword [esi + 0x14]
sub edi, ecx
mov ecx, dword [esi + 0x10]
mov eax, edx
sub eax, ecx
cmp edi, eax
ja 0x41e0b8
lea eax, [ecx + edi]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x41e098
mov eax, dword [esi]
lea esi, [eax + ecx]
push edi
lea eax, [ebp - 0x810]
push eax
push esi
call fcn.0048f2d0
mov byte [esi + edi], 0
add esp, 0xc
mov esi, dword [ebp - 0x974]
jmp 0x41e0ce
push edi
lea eax, [ebp - 0x810]
mov ecx, esi
push eax
push dword [ebp - 0x814]
push edi
call fcn.00412ab0
cmp dword [ebp - 0x818], 0
je 0x41df50
mov ecx, 0x4e6ab4
call fcn.0041f900
xor eax, eax
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x990], ecx
mov dword [ebp - 0x9a0], edi
cmp byte [ebp - 0x95d], al
jne 0x41f5e2
sub esp, 0x10
mov dword [ebp - 0x854], eax
xorps xmm0, xmm0
lea ecx, [ebp - 0x85c]
mov edx, esi
movq qword [ebp - 0x85c], xmm0
push 0x4c75f0
call fcn.00420780
add esp, 0x14
xor ecx, ecx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x858]
mov esi, dword [ebp - 0x85c]
mov dword [ebp - 0x988], eax
mov dword [ebp - 0x964], ecx
mov ecx, eax
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x41e3a9
mov dword [ebp - 0x97c], edi
add edi, esi
mov dword [ebp - 0x988], edi
cmp dword [edi + 0x14], 0x10
jb 0x41e189
mov eax, dword [edi]
mov dword [ebp - 0x988], eax
jmp 0x41e18b
mov eax, edi
mov edi, dword [edi + 0x10]
push 0x38
add edi, eax
lea eax, [ebp - 0x940]
push 0
push eax
call fcn.0048f850
xorps xmm0, xmm0
mov dword [ebp - 0x940], 0
add esp, 0xc
mov byte [ebp - 0x93c], 0
movups xmmword [ebp - 0x938], xmm0
mov dword [ebp - 0x928], 0
mov byte [ebp - 0x924], 0
mov dword [ebp - 0x920], 0
mov dword [ebp - 0x91c], 0
mov byte [ebp - 0x918], 0
mov dword [ebp - 0x914], 0
mov dword [ebp - 0x910], 0
mov byte [ebp - 0x90c], 0
xor esi, esi
movq qword [ebp - 0x874], xmm0
mov dword [ebp - 0x874], esi
mov dword [ebp - 0x870], esi
mov dword [ebp - 0x86c], esi
mov eax, dword [ebp - 0x988]
mov edx, 0x4e6974
push eax
push ecx
push edi
push eax
lea ecx, [ebp - 0x940]
mov byte [ebp - 4], 7
call fcn.00413710
add esp, 0x10
test al, al
je 0x41e2e8
nop word [eax + eax]
inc esi
mov dword [ebp - 0x998], esi
cmp esi, 2
je 0x41e3f8
mov ecx, dword [ebp - 0x934]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x938]
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
ja 0x41e28b
lea esi, [ebp - 0x914]
jmp 0x41e28e
add esi, 0xc
mov eax, dword [ebp - 0x870]
mov esi, dword [esi + 4]
mov dword [ebp - 0x81c], esi
cmp eax, dword [ebp - 0x86c]
je 0x41e2b0
mov dword [eax], esi
add dword [ebp - 0x870], 4
jmp 0x41e2c3
lea ecx, [ebp - 0x81c]
push ecx
push eax
lea ecx, [ebp - 0x874]
call fcn.004223d0
push esi
push ecx
push edi
push esi
mov edx, 0x4e6974
lea ecx, [ebp - 0x940]
call fcn.00413710
mov esi, dword [ebp - 0x998]
add esp, 0x10
test al, al
jne 0x41e250
mov edi, dword [ebp - 0x97c]
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x874]
test ecx, ecx
je 0x41e354
mov eax, dword [ebp - 0x86c]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x41e32c
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f660
push edx
push ecx
call fcn.004885c3
add esp, 8
mov dword [ebp - 0x874], 0
mov dword [ebp - 0x870], 0
mov dword [ebp - 0x86c], 0
lea ecx, [ebp - 0x938]
mov byte [ebp - 4], 5
call fcn.0040e7a0
mov eax, dword [ebp - 0x858]
add edi, 0x18
mov esi, dword [ebp - 0x85c]
mov ecx, eax
inc dword [ebp - 0x964]
sub ecx, esi
mov dword [ebp - 0x988], eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x964]
sar edx, 2
mov eax, edx
mov dword [ebp - 0x97c], edi
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jb 0x41e171
xor edi, edi
cmp esi, dword [ebp - 0x988]
je 0x41f5c7
mov ecx, dword [esi + 0x14]
xor edi, edi
xor edx, edx
mov dword [ebp - 0x970], edi
mov dword [ebp - 0x97c], edx
mov eax, esi
cmp ecx, 0x10
jb 0x41e3d1
mov eax, dword [esi]
mov al, byte [edi + eax]
cmp al, 0x20
je 0x41e3ec
cmp al, 9
je 0x41e3ec
cmp al, 0xa
je 0x41e3ec
cmp al, 0xc
je 0x41e3ec
cmp al, 0xb
jne 0x41e540
cmp edi, 3
jge 0x41e540
inc edi
jmp 0x41e3c8
mov edx, dword [ebp - 0x874]
xorps xmm0, xmm0
movups xmmword [ebp - 0x8a4], xmm0
mov dword [ebp - 0x894], 0
mov dword [ebp - 0x890], 0
mov ecx, dword [edx]
cmp ecx, edi
jne 0x41e43f
mov dword [ebp - 0x894], 0
mov dword [ebp - 0x890], 0xf
mov byte [ebp - 0x8a4], 0
jmp 0x41e456
mov eax, edi
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x8a4]
call fcn.004127b0
mov edx, dword [ebp - 0x874]
mov ecx, dword [ebp - 0x97c]
mov byte [ebp - 4], 8
add ecx, dword [ebp - 0x85c]
mov eax, dword [edx]
sub edi, eax
mov esi, eax
cmp dword [ecx + 0x14], 0x10
lea eax, [ecx + 0x10]
mov dword [ebp - 0x988], eax
mov eax, dword [eax]
mov dword [ebp - 0x974], eax
jb 0x41e489
sub esi, dword [ecx]
mov ecx, dword [ecx]
jmp 0x41e48b
sub esi, ecx
sub eax, esi
lea edx, [ecx + esi]
cmp eax, edi
cmovb edi, eax
mov eax, dword [ebp - 0x974]
sub eax, edi
mov ecx, eax
mov dword [ebp - 0x974], eax
sub ecx, esi
inc ecx
lea eax, [edx + edi]
push ecx
push eax
push edx
call fcn.0048f2d0
mov ecx, dword [ebp - 0x988]
add esp, 0xc
mov eax, dword [ebp - 0x974]
mov edi, dword [ebp - 0x97c]
mov dword [ecx], eax
lea eax, [ebp - 0x8a4]
push eax
mov eax, dword [ebp - 0x85c]
lea ecx, [ebp - 0x85c]
add eax, 0x18
add eax, edi
push eax
lea eax, [ebp - 0x970]
push eax
call fcn.00421620
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x890]
cmp ecx, 0x10
jb 0x41e2ee
mov edx, dword [ebp - 0x8a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41e527
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f660
push ecx
push edx
call fcn.004885c3
add esp, 8
jmp 0x41e2ee
cmp dword [esi + 0x14], 0x10
mov eax, esi
mov dword [ebp - 0x974], edx
jb 0x41e550
mov eax, dword [esi]
movsx eax, byte [eax + edi]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
je 0x41e5a1
cmp edi, 3
jge 0x41e5a1
mov edx, dword [ebp - 0x970]
cmp edx, 2
jge 0x41e5a1
mov ecx, dword [ebp - 0x97c]
mov eax, esi
lea ecx, [ecx + ecx*4]
add ecx, ecx
cmp dword [esi + 0x14], 0x10
jb 0x41e586
mov eax, dword [esi]
movsx eax, byte [edi + eax]
add ecx, 0xffffffd0
inc edx
add ecx, eax
mov dword [ebp - 0x970], edx
inc edi
mov dword [ebp - 0x97c], ecx
mov edx, ecx
jmp 0x41e540
mov ecx, dword [ebp - 0x97c]
mov dword [ebp - 0x964], edi
cmp ecx, 0x40
jl 0x41e5c9
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0x97c], ecx
dec edi
cmp dword [ebp - 0x974], 0x40
cmovl edi, dword [ebp - 0x964]
lea eax, [edi + 6]
mov dword [ebp - 0x964], eax
cmp edi, eax
jge 0x41e619
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41e5ef
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
jne 0x41e619
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41e60a
mov eax, dword [esi]
cmp byte [edi + eax], 0x2d
je 0x41e619
inc edi
cmp edi, dword [ebp - 0x964]
jl 0x41e5e5
mov edx, dword [esi + 0x14]
xor ecx, ecx
mov dword [ebp - 0x974], ecx
mov eax, esi
cmp edx, 0x10
jb 0x41e62d
mov eax, dword [esi]
mov al, byte [eax + edi]
mov byte [ebp - 0x95d], al
cmp al, 0x2d
jne 0x41e640
inc edi
nop dword [eax + eax]
mov eax, esi
cmp edx, 0x10
jb 0x41e649
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
je 0x41e68a
cmp edi, dword [ebp - 0x964]
jge 0x41e68a
mov eax, dword [ebp - 0x974]
mov edx, dword [esi + 0x14]
lea ecx, [eax + eax*4]
mov eax, esi
add ecx, ecx
cmp edx, 0x10
jb 0x41e679
mov eax, dword [esi]
movsx eax, byte [edi + eax]
add ecx, 0xffffffd0
add ecx, eax
mov dword [ebp - 0x974], ecx
jmp 0x41e63a
cmp byte [ebp - 0x95d], 0x2d
jne 0x41e6a1
mov eax, dword [ebp - 0x974]
neg eax
mov dword [ebp - 0x974], eax
mov edx, dword [esi + 0x14]
lea ecx, [edi + 5]
mov eax, esi
cmp edx, 0x10
jb 0x41e6b0
mov eax, dword [esi]
mov al, byte [edi + eax]
cmp al, 0x20
je 0x41e6c7
cmp al, 9
je 0x41e6c7
cmp al, 0xa
je 0x41e6c7
cmp al, 0xc
je 0x41e6c7
cmp al, 0xb
jne 0x41e6ce
cmp edi, ecx
jge 0x41e6ce
inc edi
jmp 0x41e6a7
xor ecx, ecx
mov dword [ebp - 0x978], edi
mov dword [ebp - 0x970], edi
mov dword [ebp - 0x96c], ecx
mov dword [ebp - 0x968], ecx
mov edx, dword [esi + 0x14]
mov eax, esi
cmp edx, 0x10
jb 0x41e6f4
mov eax, dword [esi]
mov al, byte [edi + eax]
cmp al, 0x20
je 0x41e809
cmp al, 9
je 0x41e809
cmp al, 0xa
je 0x41e809
cmp al, 0xc
je 0x41e809
cmp al, 0xb
je 0x41e809
mov eax, esi
cmp edx, 0x10
jb 0x41e728
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.0049ac60
add esp, 4
test eax, eax
jne 0x41e74d
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41e743
mov eax, dword [esi]
cmp byte [edi + eax], 0x2d
jne 0x41e803
cmp dword [ebp - 0x968], 3
mov ecx, dword [ebp - 0x96c]
jge 0x41e809
cmp ecx, 4
jge 0x41e809
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41e773
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x968]
je 0x41e791
inc eax
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x96c]
inc edi
inc ecx
mov dword [ebp - 0x978], edi
mov dword [ebp - 0x96c], ecx
cmp ecx, 2
jne 0x41e6e8
cmp eax, 1
jne 0x41e6e8
push dword [ebp - 0x970]
mov ecx, esi
call fcn.004100e0
mov ecx, dword [ebp - 0x96c]
cmp byte [eax], 0x2d
jne 0x41e6e8
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41e7dd
mov eax, dword [esi]
mov ecx, dword [ebp - 0x970]
cmp byte [eax + ecx + 1], 0x31
mov ecx, dword [ebp - 0x96c]
jne 0x41e6e8
mov edi, dword [ebp - 0x970]
add edi, 2
mov dword [ebp - 0x978], edi
mov ecx, dword [ebp - 0x96c]
mov eax, dword [esi + 0x10]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x970]
mov dword [ebp - 0x8c4], 0
mov dword [ebp - 0x8c0], 0
movups xmmword [ebp - 0x8d4], xmm0
cmp eax, edx
jb 0x41f65b
sub eax, edx
cmp eax, ecx
cmovb ecx, eax
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41e849
mov eax, dword [esi]
push ecx
add eax, edx
lea ecx, [ebp - 0x8d4]
push eax
call fcn.004127b0
or dword [ebp - 0x98c], 1
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8d4]
cmp dword [ebp - 0x8c0], 0x10
mov eax, dword [ebp - 0x8c4]
cmovae ecx, dword [ebp - 0x8d4]
setae dl
mov dword [ebp - 0x964], 0
mov byte [ebp - 0x95d], dl
mov dword [ebp - 0x96c], eax
cmp eax, 3
jne 0x41e928
sub eax, 4
mov edx, 0x4c75f4
mov dword [ebp - 0x968], eax
jb 0x41e8cd
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41e8d2
mov eax, dword [ebp - 0x968]
add ecx, 4
add edx, 4
sub eax, 4
mov dword [ebp - 0x968], eax
jae 0x41e8b0
cmp eax, 0xfffffffc
je 0x41e912
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41e90b
cmp dword [ebp - 0x968], 0xfffffffd
je 0x41e912
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41e90b
cmp dword [ebp - 0x968], 0xfffffffe
je 0x41e912
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41e90b
cmp dword [ebp - 0x968], 0xffffffff
je 0x41e912
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x41e912
sbb eax, eax
or eax, 1
jmp 0x41e914
xor eax, eax
test eax, eax
je 0x41e9d5
mov eax, dword [ebp - 0x96c]
mov dl, byte [ebp - 0x95d]
test dl, dl
lea ecx, [ebp - 0x8d4]
cmovne ecx, dword [ebp - 0x8d4]
cmp eax, 2
jne 0x41e9b8
sub eax, 4
mov edx, 0x4c75f8
mov dword [ebp - 0x96c], eax
jb 0x41e96d
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41e972
mov eax, dword [ebp - 0x96c]
add ecx, 4
add edx, 4
sub eax, 4
mov dword [ebp - 0x96c], eax
jae 0x41e950
cmp eax, 0xfffffffc
je 0x41e9b2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41e9ab
cmp dword [ebp - 0x96c], 0xfffffffd
je 0x41e9b2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41e9ab
cmp dword [ebp - 0x96c], 0xfffffffe
je 0x41e9b2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41e9ab
cmp dword [ebp - 0x96c], 0xffffffff
je 0x41e9b2
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x41e9b2
sbb eax, eax
or eax, 1
jmp 0x41e9b4
xor eax, eax
test eax, eax
je 0x41e9d5
lea edx, [ebp - 0x964]
lea ecx, [ebp - 0x8d4]
call fcn.00444b50
test al, al
je 0x41e9d5
inc dword [ebp - 0x9a4]
jmp 0x41e9db
inc dword [ebp - 0x990]
mov edx, dword [esi + 0x14]
add edi, 8
mov eax, dword [ebp - 0x978]
mov ecx, esi
cmp edx, 0x10
jb 0x41e9f0
mov ecx, dword [esi]
mov cl, byte [ecx + eax]
cmp cl, 0x20
je 0x41ea0c
cmp cl, 9
je 0x41ea0c
cmp cl, 0xa
je 0x41ea0c
cmp cl, 0xc
je 0x41ea0c
cmp cl, 0xb
jne 0x41ea13
cmp eax, edi
jge 0x41ea13
inc eax
jmp 0x41e9e7
cmp dword [esi + 0x14], 0x10
mov ecx, esi
mov dword [ebp - 0x978], eax
jb 0x41ea23
mov ecx, dword [esi]
movsx eax, byte [eax + ecx]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x978]
je 0x41ea41
cmp eax, edi
jge 0x41ea41
inc eax
jmp 0x41ea13
mov edx, dword [esi + 0x14]
mov ecx, esi
cmp edx, 0x10
jb 0x41ea4d
mov ecx, dword [esi]
mov cl, byte [eax + ecx]
cmp cl, 0x20
je 0x41ea69
cmp cl, 9
je 0x41ea69
cmp cl, 0xa
je 0x41ea69
cmp cl, 0xc
je 0x41ea69
cmp cl, 0xb
jne 0x41ea6c
inc eax
jmp 0x41ea44
xorps xmm0, xmm0
mov dword [ebp - 0x978], eax
movups xmmword [ebp - 0x838], xmm0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0xf
mov byte [ebp - 0x838], 0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x838]
push dword [ebp - 0x814]
push 0x10
call fcn.004218d0
mov ecx, dword [esi + 0x14]
mov edx, esi
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x828], 0
cmp ecx, 0x10
jb 0x41eac7
mov edx, dword [esi]
test eax, eax
je 0x41ecf1
or ecx, 0xffffffff
dec eax
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x3a
je 0x41eaee
nop
cmp ecx, edx
je 0x41eceb
dec ecx
cmp byte [ecx], 0x3a
jne 0x41eae0
sub ecx, edx
cmp ecx, 0xffffffff
je 0x41eceb
lea edi, [ecx - 1]
mov dword [ebp - 0x970], 0
mov dword [ebp - 0x968], 0
mov dword [ebp - 0x964], 1
mov dword [ebp - 0x96c], edi
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41eb2a
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
jne 0x41eb4f
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41eb45
mov eax, dword [esi]
cmp byte [eax + edi], 0x2e
jne 0x41f04f
mov edx, dword [esi + 0x14]
mov eax, esi
cmp edx, 0x10
jb 0x41eb5b
mov eax, dword [esi]
cmp byte [edi + eax], 0x2e
jne 0x41ebfe
mov eax, dword [ebp - 0x970]
inc eax
mov dword [ebp - 0x970], eax
cmp eax, 3
jg 0x41f04f
mov dword [ebp - 0x964], 1
mov dword [ebp - 0x968], 0
mov eax, esi
cmp edx, 0x10
jb 0x41eb98
mov eax, dword [esi]
mov al, byte [edi + eax]
mov edx, dword [ebp - 0x824]
mov ecx, dword [ebp - 0x828]
mov byte [ebp - 0x998], al
mov eax, edx
sub eax, ecx
cmp eax, 1
jb 0x41ecc8
inc ecx
lea edi, [ebp - 0x838]
cmp edx, 0x10
mov dword [ebp - 0x828], ecx
push ecx
cmovae edi, dword [ebp - 0x838]
push edi
lea eax, [edi + 1]
push eax
call fcn.0048f2d0
movsx ecx, byte [ebp - 0x998]
add esp, 0xc
movzx eax, cl
shl cx, 8
or cx, ax
mov byte [edi], cl
mov edi, dword [ebp - 0x96c]
dec edi
jmp 0x41eb1a
mov eax, esi
cmp edx, 0x10
jb 0x41ec07
mov eax, dword [esi]
movsx eax, byte [eax + edi]
mov ecx, dword [ebp - 0x964]
sub eax, 0x30
imul eax, ecx
lea ecx, [ecx + ecx*4]
add ecx, ecx
add dword [ebp - 0x968], eax
cmp dword [ebp - 0x968], 0xff
mov dword [ebp - 0x964], ecx
jle 0x41eb8f
mov eax, dword [ebp - 0x970]
inc eax
mov dword [ebp - 0x970], eax
cmp eax, 3
jg 0x41f04f
mov edx, dword [ebp - 0x824]
mov eax, edx
mov ecx, dword [ebp - 0x828]
sub eax, ecx
mov dword [ebp - 0x968], 0
mov dword [ebp - 0x964], 1
cmp eax, 1
jb 0x41ecaa
inc ecx
lea edi, [ebp - 0x838]
cmp edx, 0x10
mov dword [ebp - 0x828], ecx
push ecx
cmovae edi, dword [ebp - 0x838]
push edi
lea eax, [edi + 1]
push eax
call fcn.0048f2d0
mov byte [edi], 0x2e
add esp, 0xc
mov edi, dword [ebp - 0x96c]
jmp 0x41eb20
push 0x2e
push 1
push 0
push dword [ebp - 0x814]
lea ecx, [ebp - 0x838]
push 1
call fcn.00412630
jmp 0x41eb20
push dword [ebp - 0x998]
lea ecx, [ebp - 0x838]
push 1
push 0
push dword [ebp - 0x814]
push 1
call fcn.00412630
dec edi
jmp 0x41eb1a
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov edx, esi
cmp ecx, 0x10
jb 0x41ecfa
mov edx, dword [esi]
test eax, eax
je 0x41f04f
or ecx, 0xffffffff
dec eax
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x2e
je 0x41ed20
cmp ecx, edx
je 0x41f04f
dec ecx
cmp byte [ecx], 0x2e
jne 0x41ed12
sub ecx, edx
cmp ecx, 0xffffffff
je 0x41f04f
lea edi, [ecx - 1]
mov dword [ebp - 0x964], 0
mov dword [ebp - 0x96c], edi
lea edi, [ecx + 1]
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41ed4b
mov eax, dword [esi]
movsx eax, byte [eax + edi]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
je 0x41edf6
mov eax, dword [ebp - 0x964]
inc edi
lea ecx, [eax + eax*4]
mov eax, esi
add ecx, ecx
cmp dword [esi + 0x14], 0x10
jb 0x41ed76
mov eax, dword [esi]
movsx edx, byte [eax + edi]
add edx, 0xffffffd0
add edx, ecx
mov dword [ebp - 0x964], edx
cmp edx, 0xff
jg 0x41edf6
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41ed97
mov eax, dword [esi]
mov dl, byte [eax + edi]
mov ecx, dword [ebp - 0x828]
mov byte [ebp - 0x814], dl
cmp ecx, dword [ebp - 0x824]
jae 0x41edd8
cmp dword [ebp - 0x824], 0x10
lea eax, [ecx + 1]
mov dword [ebp - 0x828], eax
lea eax, [ebp - 0x838]
cmovae eax, dword [ebp - 0x838]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x41ed41
push dword [ebp - 0x814]
lea ecx, [ebp - 0x838]
push dword [ebp - 0x814]
push 1
call fcn.004124f0
jmp 0x41ed41
mov edx, dword [ebp - 0x824]
mov eax, edx
mov ecx, dword [ebp - 0x828]
sub eax, ecx
mov edi, dword [ebp - 0x96c]
cmp eax, 1
jb 0x41ee41
inc ecx
lea edi, [ebp - 0x838]
cmp edx, 0x10
mov dword [ebp - 0x828], ecx
push ecx
cmovae edi, dword [ebp - 0x838]
push edi
lea eax, [edi + 1]
push eax
call fcn.0048f2d0
mov byte [edi], 0x2e
add esp, 0xc
mov edi, dword [ebp - 0x96c]
jmp 0x41ee5a
push 0x2e
push 1
push 0
push dword [ebp - 0x814]
lea ecx, [ebp - 0x838]
push 1
call fcn.00412630
mov dword [ebp - 0x964], 0
mov dword [ebp - 0x968], 0
mov dword [ebp - 0x970], 1
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41ee82
mov eax, dword [esi]
movsx eax, byte [eax + edi]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
jne 0x41eea7
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41ee9d
mov eax, dword [esi]
cmp byte [eax + edi], 0x2e
jne 0x41f04f
mov edx, dword [esi + 0x14]
mov eax, esi
cmp edx, 0x10
jb 0x41eeb3
mov eax, dword [esi]
cmp byte [eax + edi], 0x2e
jne 0x41ef5c
mov eax, dword [ebp - 0x964]
inc eax
mov dword [ebp - 0x964], eax
cmp eax, 2
jg 0x41f04f
mov dword [ebp - 0x970], 1
mov dword [ebp - 0x968], 0
mov eax, esi
cmp edx, 0x10
jb 0x41eef0
mov eax, dword [esi]
mov al, byte [eax + edi]
mov edx, dword [ebp - 0x824]
mov ecx, dword [ebp - 0x828]
mov byte [ebp - 0x81c], al
mov eax, edx
sub eax, ecx
cmp eax, 1
jb 0x41f026
inc ecx
lea edi, [ebp - 0x838]
cmp edx, 0x10
mov dword [ebp - 0x828], ecx
push ecx
cmovae edi, dword [ebp - 0x838]
push edi
lea eax, [edi + 1]
push eax
call fcn.0048f2d0
movsx ecx, byte [ebp - 0x81c]
add esp, 0xc
movzx eax, cl
shl cx, 8
or cx, ax
mov byte [edi], cl
mov edi, dword [ebp - 0x96c]
dec edi
mov dword [ebp - 0x96c], edi
jmp 0x41ee78
mov eax, esi
cmp edx, 0x10
jb 0x41ef65
mov eax, dword [esi]
movsx eax, byte [eax + edi]
mov ecx, dword [ebp - 0x970]
sub eax, 0x30
imul eax, ecx
lea ecx, [ecx + ecx*4]
add ecx, ecx
add dword [ebp - 0x968], eax
cmp dword [ebp - 0x968], 0xff
mov dword [ebp - 0x970], ecx
jle 0x41eee7
mov eax, dword [ebp - 0x964]
inc eax
mov dword [ebp - 0x964], eax
cmp eax, 2
jg 0x41f04f
mov edx, dword [ebp - 0x824]
mov eax, edx
mov ecx, dword [ebp - 0x828]
sub eax, ecx
mov dword [ebp - 0x968], 0
mov dword [ebp - 0x970], 1
cmp eax, 1
jb 0x41f008
inc ecx
lea edi, [ebp - 0x838]
cmp edx, 0x10
mov dword [ebp - 0x828], ecx
push ecx
cmovae edi, dword [ebp - 0x838]
push edi
lea eax, [edi + 1]
push eax
call fcn.0048f2d0
mov byte [edi], 0x2e
add esp, 0xc
mov edi, dword [ebp - 0x96c]
jmp 0x41ee78
push 0x2e
push 1
push 0
push dword [ebp - 0x814]
lea ecx, [ebp - 0x838]
push 1
call fcn.00412630
jmp 0x41ee78
push dword [ebp - 0x81c]
lea ecx, [ebp - 0x838]
push 1
push 0
push dword [ebp - 0x814]
push 1
call fcn.00412630
dec edi
mov dword [ebp - 0x96c], edi
jmp 0x41ee78
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41f059
mov eax, dword [esi]
movsx eax, byte [eax + edi]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
je 0x41f0b8
nop word [eax + eax]
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41f07a
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
je 0x41f08e
dec edi
jmp 0x41f070
mov ecx, dword [esi + 0x14]
mov eax, esi
cmp ecx, 0x10
jb 0x41f09a
mov eax, dword [esi]
mov al, byte [edi + eax]
cmp al, 0x20
je 0x41f0b5
cmp al, 9
je 0x41f0b5
cmp al, 0xa
je 0x41f0b5
cmp al, 0xc
je 0x41f0b5
cmp al, 0xb
jne 0x41f127
dec edi
jmp 0x41f091
mov ecx, dword [esi + 0x14]
nop dword [eax + eax]
mov eax, esi
cmp ecx, 0x10
jb 0x41f0c9
mov eax, dword [esi]
mov al, byte [edi + eax]
cmp al, 0x20
je 0x41f0e0
cmp al, 9
je 0x41f0e0
cmp al, 0xa
je 0x41f0e0
cmp al, 0xc
je 0x41f0e0
cmp al, 0xb
jne 0x41f0e3
dec edi
jmp 0x41f0c0
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41f0ed
mov eax, dword [esi]
movsx eax, byte [edi + eax]
push eax
call fcn.0049acf0
add esp, 4
test eax, eax
je 0x41f101
dec edi
jmp 0x41f0e3
mov ecx, dword [esi + 0x14]
mov eax, esi
cmp ecx, 0x10
jb 0x41f10d
mov eax, dword [esi]
mov al, byte [edi + eax]
cmp al, 0x20
je 0x41f124
cmp al, 9
je 0x41f124
cmp al, 0xa
je 0x41f124
cmp al, 0xc
je 0x41f124
cmp al, 0xb
jne 0x41f127
dec edi
jmp 0x41f104
mov ecx, dword [esi + 0x10]
inc edi
mov eax, dword [ebp - 0x978]
xorps xmm0, xmm0
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x878], 0
movups xmmword [ebp - 0x88c], xmm0
cmp ecx, eax
jb 0x41f65b
sub ecx, eax
sub edi, eax
cmp ecx, edi
cmovb edi, ecx
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x41f16a
mov ecx, dword [esi]
add eax, ecx
lea ecx, [ebp - 0x88c]
push edi
push eax
call fcn.004127b0
or dword [ebp - 0x98c], 2
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x88c]
cmp dword [ebp - 0x878], 0x10
mov edi, dword [ebp - 0x87c]
cmovae ecx, dword [ebp - 0x88c]
setae byte [ebp - 0x95d]
push 2
mov dword [ebp - 0x9ac], ecx
lea ecx, [ebp - 0x9ac]
push 0x4c75fc
mov dword [ebp - 0x9a8], edi
call fcn.00420440
test al, al
je 0x41f205
cmp byte [ebp - 0x95d], 0
lea eax, [ebp - 0x88c]
lea ecx, [edi - 1]
cmovne eax, dword [ebp - 0x88c]
mov dword [ebp - 0x87c], ecx
mov byte [eax + ecx], 0
lea eax, [ebp - 0x88c]
mov ecx, dword [ebp - 0x87c]
dec ecx
cmp dword [ebp - 0x878], 0x10
cmovae eax, dword [ebp - 0x88c]
jmp 0x41f24d
cmp edi, 1
jb 0x41f257
mov cl, byte [ebp - 0x95d]
lea eax, [ebp - 0x88c]
mov edx, dword [ebp - 0x88c]
test cl, cl
cmovne eax, edx
cmp byte [edi + eax - 1], 0x5e
je 0x41f23a
test cl, cl
lea eax, [ebp - 0x88c]
cmovne eax, edx
cmp byte [edi + eax - 1], 0x37
jne 0x41f257
cmp byte [ebp - 0x95d], 0
lea eax, [ebp - 0x88c]
lea ecx, [edi - 1]
cmovne eax, edx
mov dword [ebp - 0x87c], ecx
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0x9a0]
mov ecx, dword [ebp - 0x97c]
lea edi, [eax + eax*2]
mov eax, dword [0x4e6b14]
shl edi, 6
mov dword [ebp - 0x964], edi
mov dword [edi + eax + 0xa0], ecx
mov eax, dword [0x4e6b14]
mov ecx, dword [ebp - 0x974]
mov dword [eax + edi + 0xa4], ecx
lea ecx, [ebp - 0x8d4]
cmp dword [ebp - 0x8c0], 0x10
mov eax, dword [0x4e6b14]
cmovae ecx, dword [ebp - 0x8d4]
add eax, 0x73
push ecx
add eax, edi
push 5
push eax
call fcn.0049af24
mov edx, dword [0x4e6b14]
lea eax, [ebp - 0x88c]
add edx, edi
add esp, 0xc
cmp dword [ebp - 0x878], 0x10
mov ecx, edx
mov dword [ebp - 0x970], edx
cmovae eax, dword [ebp - 0x88c]
setae byte [ebp - 0x95d]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f302
test dl, dl
je 0x41f2fe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f302
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f2e2
xor eax, eax
jmp 0x41f307
sbb eax, eax
or eax, 1
test eax, eax
je 0x41f358
mov edi, 0x20
lea eax, [ebp - 0x88c]
cmp dword [ebp - 0x87c], edi
cmovb edi, dword [ebp - 0x87c]
cmp byte [ebp - 0x95d], 0
push edi
cmovne eax, dword [ebp - 0x88c]
push eax
push 0x21
push dword [ebp - 0x970]
call fcn.0049a784
mov eax, dword [0x4e6b14]
add esp, 0x10
add eax, dword [ebp - 0x964]
mov byte [edi + eax], 0
mov edi, dword [ebp - 0x964]
cmp dword [ebp - 0x824], 0x10
lea eax, [ebp - 0x838]
mov ecx, dword [0x4e6b14]
cmovae eax, dword [ebp - 0x838]
setae dh
add ecx, 0x63
add edi, ecx
mov ecx, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41f3a0
test dl, dl
je 0x41f39c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41f3a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41f380
xor eax, eax
jmp 0x41f3a5
sbb eax, eax
or eax, 1
test eax, eax
je 0x41f3fe
test dh, dh
lea eax, [ebp - 0x838]
cmovne eax, dword [ebp - 0x838]
push eax
push 0x10
push edi
call fcn.0049af24
mov edx, dword [0x4e6b14]
add edx, dword [ebp - 0x964]
add esp, 4
mov edi, esp
lea ecx, [edx + 0x63]
lea eax, [ecx + 1]
mov dword [edi], ecx
mov dword [ebp - 0x970], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f3e0
sub ecx, dword [ebp - 0x970]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x984]
call fcn.0043de30
add esp, 8
mov edx, dword [ebp - 0x964]
xor eax, eax
add edx, 0x63
add edx, dword [0x4e6b14]
cmp byte [edx], al
je 0x41f41f
inc eax
cmp eax, 0x10
je 0x41f427
cmp byte [eax + edx], 0
jne 0x41f413
test eax, eax
je 0x41f4bb
mov ecx, edx
mov dword [ebp - 0x8dc], 0
xorps xmm0, xmm0
mov dword [ebp - 0x8d8], 0
movups xmmword [ebp - 0x8ec], xmm0
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f450
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x8ec]
call fcn.004127b0
lea eax, [ebp - 0x8ec]
mov byte [ebp - 4], 0xc
push eax
mov ecx, 0x4e6ab4
call fcn.0041f8e0
inc dword [eax]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x8d8]
cmp ecx, 0x10
jb 0x41f4bb
mov edx, dword [ebp - 0x8ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f4b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f660
push ecx
push edx
call fcn.004885c3
add esp, 8
mov edi, dword [ebp - 0x9a0]
inc edi
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x878]
mov dword [ebp - 0x9a0], edi
cmp ecx, 0x10
jb 0x41f506
mov edx, dword [ebp - 0x88c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f4fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f660
push ecx
push edx
call fcn.004885c3
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x824]
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x878], 0xf
mov byte [ebp - 0x88c], 0
cmp ecx, 0x10
jb 0x41f55f
mov edx, dword [ebp - 0x838]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f555
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f660
push ecx
push edx
call fcn.004885c3
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x8c0]
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0xf
mov byte [ebp - 0x838], 0
cmp ecx, 0x10
jb 0x41f5b8
mov edx, dword [ebp - 0x8d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f5ae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41f660
push ecx
push edx
call fcn.004885c3
add esp, 8
add esi, 0x18
cmp esi, dword [ebp - 0x988]
jne 0x41e3b5
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], 0
call fcn.00410f00
mov eax, dword [ebp - 0x9a4]
mov ecx, dword [ebp - 0x990]
cmp dword [0x4e6bcc], 0x10
movzx edx, word [0x4e6ee8]
mov dword [0x4e6edc], eax
mov eax, 0x4e6bb8
cmovae eax, dword [0x4e6bb8]
cmp dword [0x4e6b84], 0x10
mov dword [0x4e6ee0], ecx
mov ecx, 0x4e6b70
cmovae ecx, dword [0x4e6b70]
push eax
mov dword [0x4e6ee4], edi
call fcn.0046d6e0
add esp, 4
call fcn.00446f30
call fcn.00447cf0
call fcn.00446a40
mov eax, dword [ebp - 0x980]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048824f
mov esp, ebp
pop ebp
ret 0x10
call fcn.004119b0
call fcn.0049a67c
call fcn.0049a67c
nop
xchg esp, ecx
inc ecx
add byte [edx - 0x71ffbe34], ah
int3