Function at 0x419520
Capabilities:
Contain obfuscated stackstrings
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x46735a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa34
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], ebp
call fcn.004150b0
mov al, byte [ebp + 0x2c]
xor esi, esi
test al, al
mov dword [esp + 0xa4c], esi
je 0x419574
lea eax, [ebp + 8]
lea ecx, [esp + 0x14]
push eax
call fcn.00415150
mov ecx, dword [ebp + 0x30]
mov dword [esp + 0x1c], ecx
jmp 0x4195ae
mov eax, dword [ebp + 0x30]
cmp eax, 0x10000
jge 0x419584
mov dword [esp + 0x1c], eax
jmp 0x419590
mov dword [esp + 0x1c], 0x10000
mov eax, dword [esp + 0x1c]
push eax
push eax
lea ecx, [esp + 0x1c]
call fcn.00415350
push eax
mov ecx, ebp
call fcn.0041c350
test eax, eax
jne 0x41a80a
mov dword [ebp + 0x28], esi
push esi
lea ecx, [esp + 0x224]
mov dword [esp + 0x1c], 0x43
call fcn.00418da0
mov dword [esp + fcn.0041c3f0], 0x46acd0
push 1
lea ecx, [esp + 0x358]
mov byte [esp + 0xa50], 1
call fcn.00418da0
mov dword [esp + fcn.0041c3f0], 0x46acc8
push 1
lea ecx, [esp + 0x2f0]
mov byte [esp + 0xa50], 2
call fcn.00418da0
mov dword [esp + fcn.0041c3f0], 0x46acc0
lea ecx, [esp + 0x3f0]
mov byte [esp + 0xa4c], 3
call fcn.00409300
mov dword [esp + 0x3f0], 0x46acb8
mov ebx, 4
lea ecx, [esp + 0x388]
mov byte [esp + 0xa4c], bl
call fcn.00409300
mov dword [esp + fcn.0041c3f0], 0x46acb0
lea ecx, [esp + 0x528]
mov byte [esp + 0xa4c], 5
call fcn.00409300
mov dword [esp + 0x528], 0x46aca8
lea ecx, [esp + 0x9fc]
mov byte [esp + 0xa4c], 6
call fcn.00421df0
push esi
lea ecx, [esp + 0x778]
mov byte [esp + 0xa50], 7
call fcn.00418da0
lea ecx, [esp + 0x7a8]
mov byte [esp + 0xa4c], 8
call fcn.00433940
mov dword [esp + 0x774], 0x46aca0
lea ecx, [esp + 0x6c8]
mov byte [esp + 0xa4c], 9
call fcn.00418a20
lea ecx, [esp + 0x694]
mov byte [esp + 0xa4c], 0xa
call fcn.00429230
push 1
lea ecx, [esp + 0x1e0]
mov byte [esp + 0xa50], 0xb
call fcn.00418da0
mov dword [esp + fcn.0041c3f0], 0x46ab34
lea edx, [esp + 0x2b]
lea eax, [esp + 0x2a]
push edx
push eax
lea ecx, [esp + 0x218]
mov byte [esp + 0xa54], 0xc
call fcn.0041c520
mov dword [esp + 0x1dc], 0x46ac98
push 1
lea ecx, [esp + 0x4f8]
mov byte [esp + 0xa50], 0xd
call fcn.00418da0
mov dword [esp + 0x4f4], 0x46ac90
lea ecx, [esp + 0x5c4]
mov edi, 0xe
mov byte [esp + 0xa4c], 0xe
call fcn.00409300
mov dword [esp + 0x5c4], 0x46ab4c
lea ecx, [esp + 0x48c]
mov byte [esp + 0xa4c], 0xf
call fcn.00409300
mov dword [esp + 0x48c], 0x46ab6c
push esi
lea ecx, [esp + 0xb4]
mov byte [esp + 0xa50], 0x10
call fcn.00418da0
mov dword [esp + 0xb0], 0x46ac80
mov byte [esp + 0xe4], 0
lea ecx, [esp + 0x7c]
mov byte [esp + 0xa4c], 0x11
call fcn.00409300
mov dword [esp + 0x7c], 0x46ac78
lea ecx, [esp + 0x62c]
mov byte [esp + 0xa4c], 0x12
call fcn.00409300
mov dword [esp + 0x62c], 0x46ac70
lea ecx, [esp + 0x11c]
mov byte [esp + 0xa4c], 0x13
call fcn.00409300
mov dword [esp + fcn.0041c3f0], 0x46aaf8
push 1
lea ecx, [esp + 0x428]
mov byte [esp + 0xa50], 0x14
call fcn.00418da0
mov dword [esp + 0x424], 0x46ac68
push 1
lea ecx, [esp + 0x594]
mov byte [esp + 0xa50], 0x15
call fcn.00418da0
mov dword [esp + 0x590], 0x46ac60
lea ecx, [esp + 0x4c0]
mov byte [esp + 0xa4c], 0x16
call fcn.00409300
mov dword [esp + 0x4c0], 0x46ac58
lea ecx, [esp + 0x2b8]
mov byte [esp + 0xa4c], 0x17
call fcn.00409300
mov dword [esp + fcn.0041c3f0], 0x46ac50
lea ecx, [esp + 0x458]
mov byte [esp + 0xa4c], 0x18
call fcn.00409300
mov dword [esp + 0x458], 0x46ac48
lea ecx, [esp + 0xe8]
mov byte [esp + 0xa4c], 0x19
call fcn.00409300
mov dword [esp + 0xe8], 0x46ac40
push esi
lea ecx, [esp + 0x7d4]
mov byte [esp + 0xa50], 0x1a
call fcn.00418da0
mov dword [esp + 0x7d0], 0x46ac38
lea ecx, [esp + 0x320]
mov byte [esp + 0xa4c], 0x1b
call fcn.00409300
mov dword [esp + fcn.0041c3f0], 0x46ac30
lea ecx, [esp + 0x3bc]
mov byte [esp + 0xa4c], 0x1c
call fcn.00409300
mov dword [esp + fcn.0041c3f0], 0x46aaf0
lea ecx, [esp + 0x55c]
mov byte [esp + 0xa4c], 0x1d
call fcn.00409300
mov dword [esp + 0x55c], 0x46ac28
lea ecx, [esp + 0x150]
mov byte [esp + 0xa4c], 0x1e
call fcn.00409300
mov dword [esp + fcn.0041c3f0], 0x46ac20
lea ecx, [esp + 0x660]
mov byte [esp + 0xa4c], 0x1f
call fcn.00409300
mov dword [esp + 0x660], 0x46ac18
lea ecx, [esp + 0x5f8]
mov byte [esp + 0xa4c], 0x20
call fcn.00409300
mov dword [esp + 0x5f8], 0x46ac10
mov ecx, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
mov byte [esp + 0xa58], 0x21
call fcn.004150c0
lea ecx, [esp + 0x228]
call fcn.00419460
mov eax, dword [esp + 0x250]
cmp eax, 0xc
jb 0x419a28
mov cx, word [esp + 0x254]
cmp cx, 0x1f40
jb 0x419a28
cmp cx, 0xbb80
ja 0x419a28
mov ecx, dword [esp + 0x256]
add eax, 0xfffffff4
cmp ecx, eax
jne 0x419a28
mov ax, word [esp + 0x25e]
movsx ecx, ah
dec ecx
je 0x419a16
sub ecx, 0x62
jne 0x419a28
cmp al, 2
jmp 0x419a18
test al, al
sete al
test al, al
je 0x419a28
mov dword [esp + 0x18], ebx
jmp 0x41b559
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x35c]
call fcn.00419460
cmp dword [esp + 0x384], 0x2000
jne 0x419a9f
mov eax, dword [esp + 0x35c]
cmp eax, esi
je 0x419a65
mov eax, dword [eax]
jmp 0x419a67
xor eax, eax
xor esi, esi
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [eax + 1]
inc eax
inc eax
cmp ecx, 0xd7
jle 0x419a84
cmp ecx, 0xff
jne 0x419a9f
cmp edx, 0x40
jg 0x419a9f
inc esi
cmp esi, 0x1000
jl 0x419a69
mov dword [esp + 0x18], 6
jmp 0x41b559
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x2f4]
call fcn.00419460
cmp dword [esp + 0x31c], ebx
jl 0x419af8
mov eax, dword [esp + 0x2f4]
test eax, eax
je 0x419ad8
mov eax, dword [eax]
jmp 0x419ada
xor eax, eax
mov eax, dword [eax]
mov edx, dword [str.BIKi]
cmp eax, edx
sete al
test al, al
je 0x419af8
mov dword [esp + 0x18], 7
jmp 0x41b559
mov ecx, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x3f8]
call fcn.00419460
mov eax, dword [esp + 0x3f8]
test eax, eax
je 0x419b28
mov eax, dword [eax]
jmp 0x419b2a
xor eax, eax
mov ecx, dword [esp + 0x420]
cmp ecx, 0xa
jb 0x419b69
cmp word [eax + 4], 0xfa00
jne 0x419b69
cmp word [eax + 6], 0
jne 0x419b69
cmp word [eax + 2], bx
jne 0x419b69
xor edx, edx
mov dx, word [eax]
add edx, 2
cmp edx, ecx
sete al
test al, al
je 0x419b69
mov dword [esp + 0x18], 0xa
jmp 0x41b559
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x390]
call fcn.00419460
mov edx, dword [esp + 0x390]
test edx, edx
je 0x419b99
mov eax, dword [edx]
jmp 0x419b9b
xor eax, eax
mov ecx, dword [esp + 0x3b8]
cmp ecx, 0x14
jb 0x419be7
xor esi, esi
mov si, word [eax]
cmp esi, ecx
jne 0x419be7
cmp word [eax + 4], di
jne 0x419be7
cmp word [eax + 6], 0x14
jne 0x419be7
mov cl, byte [eax + 0x10]
test cl, cl
jne 0x419be7
test edx, edx
je 0x419bcc
mov ecx, dword [edx]
jmp 0x419bce
xor ecx, ecx
mov edx, 0x500
cmp word [ecx + 2], dx
jne 0x419c17
cmp word [eax + 2], dx
jne 0x419be7
cmp word [eax + 0xe], 0x1012
je 0x419c25
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x530]
call fcn.00419460
mov eax, dword [esp + 0x530]
test eax, eax
je 0x419c2e
mov ecx, dword [eax]
jmp 0x419c30
cmp word [eax + 2], 2
jne 0x419be7
cmp word [eax + 0xe], 0
jne 0x419be7
mov dword [esp + 0x18], edi
jmp 0x41b559
xor ecx, ecx
mov edx, dword [esp + 0x558]
cmp edx, 0x18
jb 0x419c60
mov eax, dword [ecx + 0x10]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 0x10
imul eax, dword [ecx + 0x14]
add eax, 0x18
cmp eax, edx
jne 0x419c60
mov dword [esp + 0x18], 0x10
jmp 0x41b559
mov ecx, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x77c]
call fcn.00419460
cmp dword [esp + 0x7a4], ebx
jl 0x419ca2
mov al, byte [esp + 0x7c8]
test al, al
je 0x419ca2
mov dword [esp + 0x18], 0x1b
jmp 0x41b559
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x6d0]
call fcn.00419460
cmp dword [esp + 0x6f8], 0xa
jb 0x419cfa
mov eax, dword [esp + 0x6d0]
test eax, eax
je 0x419cdc
mov eax, dword [eax]
jmp 0x419cde
xor eax, eax
mov edx, dword [eax + 6]
add eax, 6
mov ecx, 0x46ab84
cmp edx, dword [ecx]
jne 0x419cfa
mov dword [esp + 0x18], 0x12
jmp 0x41b559
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x69c]
call fcn.00419460
cmp dword [esp + 0x6c4], ebx
jb 0x419d4d
mov eax, dword [esp + 0x69c]
test eax, eax
je 0x419d33
mov eax, dword [eax]
jmp 0x419d35
xor eax, eax
mov edx, dword [eax]
mov ecx, 0x46ab8c
cmp edx, dword [ecx]
jne 0x419d4d
mov dword [esp + 0x18], 0x1d
jmp 0x41b559
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x4fc]
call fcn.00419460
cmp dword [esp + 0x524], 0x300
jne 0x419db9
mov eax, dword [esp + 0x4fc]
test eax, eax
je 0x419d8a
mov eax, dword [eax]
jmp 0x419d8c
xor eax, eax
xor ecx, ecx
inc eax
mov dl, byte [eax - 1]
mov bl, byte [eax + 1]
or dl, bl
mov bl, byte [eax]
or dl, bl
test dl, 0xc0
jne 0x419db9
inc ecx
add eax, 3
cmp ecx, 0x100
jl 0x419d8f
mov dword [esp + 0x18], 0x1f
jmp 0x41b559
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x5cc]
call fcn.00419460
mov eax, dword [esp + 0x5cc]
test eax, eax
je 0x419de9
mov eax, dword [eax]
jmp 0x419deb
xor eax, eax
cmp dword [esp + 0x5f4], 0x80
jb 0x419e27
cmp byte [eax], 0xa
jne 0x419e27
cmp byte [eax + 1], 5
jne 0x419e27
cmp byte [eax + 2], 1
jne 0x419e27
cmp byte [eax + 3], 8
jne 0x419e27
mov al, byte [eax + 0x41]
cmp al, 1
je 0x419e1a
cmp al, 3
jne 0x419e27
mov dword [esp + 0x18], 0x22
jmp 0x41b559
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x494]
call fcn.00419460
cmp dword [esp + 0x4bc], 8
jb 0x419e80
mov eax, dword [esp + 0x494]
test eax, eax
je 0x419e61
mov esi, dword [eax]
jmp 0x419e63
xor esi, esi
mov ecx, 2
mov edi, 0x46ab94
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x419e80
mov dword [esp + 0x18], 0x24
jmp 0x41b559
mov ecx, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0xb8]
call fcn.00419460
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0xb0]
mov byte [esp + 0xe4], 1
call dword [eax + 8]
test eax, eax
mov byte [esp + 0xe4], 0
jne 0x419fbc
lea ecx, [esp + 0x44]
call fcn.0041b820
mov dword [esp + 0x44], 0x46ac00
mov bl, 0x22
lea ecx, [esp + 0x184]
mov byte [esp + 0xa4c], bl
call fcn.0041b820
mov dword [esp + fcn.0041c3f0], 0x46ab3c
mov ecx, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
mov byte [esp + 0xa58], 0x23
call fcn.004150c0
lea ecx, [esp + 0x4c]
call fcn.00419460
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x18c]
call fcn.00419460
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x44]
mov byte [esp + 0x78], 1
call dword [eax + 8]
test eax, eax
mov byte [esp + 0x78], 0
jne 0x419f65
mov dword [esp + 0x18], 5
jmp 0x419f93
mov edx, dword [esp + 0x184]
lea ecx, [esp + 0x184]
mov byte [esp + 0x1b8], 1
call dword [edx + 8]
neg eax
sbb eax, eax
mov byte [esp + 0x1b8], 0
and al, 0xec
add eax, 0x3a
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x184]
mov byte [esp + 0xa4c], bl
call fcn.00418e00
lea ecx, [esp + 0x44]
mov byte [esp + 0xa4c], 0x21
call fcn.00418e00
jmp 0x41b559
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x84]
call fcn.00419460
mov esi, dword [esp + 0x84]
test esi, esi
je 0x419fec
mov eax, dword [esi]
jmp 0x419fee
xor eax, eax
mov edx, dword [esp + 0xac]
cmp edx, 6
mov ebx, edx
jb 0x41a0d9
mov ax, word [eax]
cmp ax, 1
jl 0x41a0d9
cmp ax, 0x3e8
jg 0x41a0d9
test esi, esi
je 0x41a01f
mov ecx, dword [esi]
jmp 0x41a021
xor ecx, ecx
mov cx, word [ecx + 4]
neg cx
sbb ecx, ecx
and ecx, 0xfffffffe
movsx eax, ax
add ecx, 4
imul ecx, eax
add ecx, 2
cmp ecx, edx
ja 0x41a0d9
xor ebp, ebp
test esi, esi
je 0x41a04b
mov eax, dword [esi]
jmp 0x41a04d
xor eax, eax
movsx ecx, word [eax]
cmp ebp, ecx
jge 0x41a0cf
push ebp
lea ecx, [esp + 0x80]
call fcn.0041b8b0
add eax, 0xa
cmp eax, ebx
ja 0x41a0d9
mov eax, dword [esp + 0x84]
test eax, eax
je 0x41a077
mov edi, dword [eax]
jmp 0x41a079
xor edi, edi
push ebp
lea ecx, [esp + 0x80]
call fcn.0041b8b0
mov esi, eax
add esi, edi
mov dx, word [esi]
and edx, 0xfffffffc
test dx, dx
jne 0x41a0d9
cmp word [esi + 3], dx
je 0x41a0d9
mov al, byte [esi + 2]
test al, al
je 0x41a0d9
cmp al, byte [esi + 5]
jne 0x41a0d9
push ebp
lea ecx, [esp + 0x80]
call fcn.0041b8b0
mov ecx, ebx
xor edx, edx
mov dx, word [esi + 6]
sub ecx, eax
cmp edx, ecx
jg 0x41a0d9
mov esi, dword [esp + 0x84]
inc ebp
jmp 0x41a043
mov esi, 0x29
jmp 0x41b55d
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x14]
mov eax, dword [edi + 0x30]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x634]
call fcn.00419460
mov eax, dword [esp + 0x634]
test eax, eax
je 0x41a10d
mov ecx, dword [eax]
jmp 0x41a10f
xor ecx, ecx
mov esi, dword [esp + 0x65c]
cmp esi, 0xe
jb 0x41a186
mov cx, word [ecx]
cmp cx, 1
jl 0x41a186
cmp cx, 0x3e8
jg 0x41a186
test eax, eax
je 0x41a133
mov ecx, dword [eax]
jmp 0x41a135
xor ecx, ecx
movsx ecx, word [ecx]
lea edx, [ecx*8 + 0x1e]
cmp edx, esi
ja 0x41a186
test eax, eax
je 0x41a14b
mov ecx, dword [eax]
jmp 0x41a14d
xor ecx, ecx
movsx edx, word [ecx]
test eax, eax
je 0x41a158
mov ecx, dword [eax]
jmp 0x41a15a
xor ecx, ecx
mov ecx, dword [ecx + edx*8 + 0xe]
and ecx, 0xfffffff
cmp ecx, esi
jne 0x41a186
test eax, eax
je 0x41a170
mov eax, dword [eax]
jmp 0x41a172
xor eax, eax
test dword [eax + edx*8 + 0x16], 0xfffffff
jne 0x41a186
mov esi, 0x2a
jmp 0x41b55d
mov edx, dword [edi + 0x30]
lea eax, [esp + 0x14]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.004150c0
lea ecx, [esp + 0x124]
call fcn.00419460
mov ebp, dword [esp + 0x124]
test ebp, ebp
je 0x41a1b7
mov ebx, dword [ebp]
jmp 0x41a1b9
xor ebx, ebx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x24], ebx
cmp ecx, 8
jb 0x41a335
cmp word [ebx], 0
jne 0x41a335
mov ax, word [ebx + 6]
cmp ax, 1
jl 0x41a335
cmp ax, 0x2710
jg 0x41a335
test ebp, ebp
je 0x41a1f8
mov eax, dword [ebp]
jmp 0x41a1fa
xor eax, eax
movsx eax, word [eax + 6]
lea edx, [eax + eax*2]
lea eax, [edx*8 + 8]
cmp eax, ecx
ja 0x41a335
mov dword [esp + 0x10], 0
xor ecx, ecx
test ebp, ebp
je 0x41a223
mov eax, dword [ebp]
jmp 0x41a225
xor eax, eax
cmp word [eax + 6], 0x3e8
jge 0x41a242
test ebp, ebp
je 0x41a23a
mov eax, dword [ebp]
movsx eax, word [eax + 6]
jmp 0x41a247
xor eax, eax
movsx eax, word [eax + 6]
jmp 0x41a247
mov eax, 0x3e8
cmp dword [esp + 0x10], eax
jge 0x41a32b
test ebp, ebp
je 0x41a25a
mov eax, dword [ebp]
jmp 0x41a25c
xor eax, eax
mov dx, word [eax + ecx + 0xc]
test dx, dx
jne 0x41a282
cmp word [eax + ecx + 0xe], dx
jne 0x41a279
mov esi, dword [eax + ecx + 0x1c]
test esi, esi
je 0x41a31a
test dx, dx
je 0x41a335
movsx esi, word [ebx + 2]
movsx edi, dx
movsx edx, word [eax + ecx + 8]
add edx, edi
cmp edx, esi
jg 0x41a335
mov dx, word [eax + ecx + 0xe]
test dx, dx
je 0x41a335
movsx ebx, word [ebx + 4]
movsx esi, dx
movsx edx, word [eax + ecx + 0xa]
add edx, esi
cmp edx, ebx
jg 0x41a335
mov edx, dword [eax + ecx + 0x18]
test edx, edx
jne 0x41a335
test ebp, ebp
je 0x41a2c9
mov edx, dword [ebp]
jmp 0x41a2cb
xor edx, edx
movsx edx, word [edx + 6]
mov eax, dword [eax + ecx + 0x1c]
lea edx, [edx + edx*2]
lea edx, [edx*8 + 8]
cmp eax, edx
jb 0x41a335
test ebp, ebp
je 0x41a2ea
mov edx, dword [ebp]
jmp 0x41a2ec
xor edx, edx
mov edx, dword [edx + ecx + 0x10]
and edx, 0xffff
cmp edx, 3
jne 0x41a306
cmp eax, dword [esp + 0x14c]
jg 0x41a335
jmp 0x41a316
imul esi, edi
add esi, eax
mov eax, dword [esp + 0x14c]
cmp esi, eax
jg 0x41a335
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
inc edx
add ecx, 0x18
mov dword [esp + 0x10], edx
jmp 0x41a21a
mov esi, 0x2b
jmp 0x41b55d
mov ebx, dword [esp + 0x20]
lea edx, [esp + 0x14]
mov eax, dword [ebx + 0x30]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x42c]
call fcn.00419460
mov ebp, dword [esp + 0x454]
cmp ebp, 2
jl 0x41a3e2
mov edi, dword [esp + 0x42c]
test edi, edi
je 0x41a375
mov ecx, dword [edi]
jmp 0x41a377
xor ecx, ecx
xor eax, eax
mov ax, word [ecx]
add ecx, 2
cmp eax, 2
jl 0x41a3e2
cmp eax, ebp
jg 0x41a3e2
test edi, edi
mov edx, eax
je 0x41a392
mov esi, dword [edi]
jmp 0x41a394
xor esi, esi
add esi, eax
cmp ecx, esi
jae 0x41a3c1
xor eax, eax
mov ax, word [ecx]
add ecx, 2
cmp eax, edx
jl 0x41a3e2
cmp eax, ebp
jg 0x41a3e2
test edi, edi
je 0x41a3b2
mov edx, dword [edi]
jmp 0x41a3b4
xor edx, edx
cmp byte [edx + eax - 1], 0
jne 0x41a3e2
cmp ecx, esi
mov edx, eax
jb 0x41a39a
lea eax, [edx + 1]
cmp eax, ebp
jne 0x41a3e2
test edi, edi
je 0x41a3d0
mov eax, dword [edi]
jmp 0x41a3d2
xor eax, eax
cmp byte [eax + edx], 0
jne 0x41a3e2
mov esi, 0x2e
jmp 0x41b55d
mov ecx, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x598]
call fcn.00419460
mov edi, dword [esp + 0x5c0]
test edi, edi
je 0x41ae12
mov eax, dword [esp + 0x598]
test eax, eax
je 0x41a421
mov esi, dword [eax]
jmp 0x41a423
xor esi, esi
cmp edi, 0x4000
mov edx, edi
jl 0x41a432
mov edx, 0x4000
xor ecx, ecx
test edx, edx
jle 0x41a470
mov al, byte [ecx + esi]
cmp al, 9
je 0x41a46b
cmp al, 0xd
je 0x41a46b
cmp al, 0xa
je 0x41a46b
cmp al, 0x20
jae 0x41a46b
cmp edi, 0x55c1f
jne 0x41ae12
cmp ecx, 0x77f
jne 0x41ae12
cmp al, 5
jne 0x41ae12
inc ecx
cmp ecx, edx
jl 0x41a438
mov al, byte [esp + 0xa54]
test al, al
je 0x41a485
mov esi, 0x2f
jmp 0x41b55d
lea ecx, [esp + 0x2c]
call fcn.00420500
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
mov byte [esp + 0xa54], 0x24
call fcn.004150c0
lea ecx, [esp + 0x30]
call fcn.00420520
lea ecx, [esp + 0x38]
call fcn.004244e0
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
xor eax, eax
mov dword [esp + 0x38], 0x46abf0
mov dword [esp + 0x40], eax
test edx, edx
je 0x41a4d8
mov ecx, dword [edx + 4]
jmp 0x41a4da
xor ecx, ecx
cmp esi, ecx
jge 0x41a537
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x20], esp
push ecx
lea ecx, [esp + 0x40]
call fcn.00420580
lea ecx, [esp + 0x48]
call fcn.004246a0
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x41a507
mov ecx, dword [edx + 4]
jmp 0x41a509
xor ecx, ecx
mov esi, dword [esp + 0x34]
cmp esi, ecx
jl 0x41a515
xor eax, eax
jmp 0x41a4cf
test eax, eax
je 0x41a4cf
mov dword [esp + 0x18], 0x2f
lea ecx, [esp + 0x2c]
mov byte [esp + 0xa4c], 0x21
call fcn.00420510
jmp 0x41b559
test eax, eax
jne 0x41a519
mov eax, dword [esp + 0x40]
test eax, eax
je 0x41a519
mov esi, dword [esp + 0x20]
mov al, byte [esi + 0x2c]
test al, al
jne 0x41a82f
mov eax, dword [esi + 0x30]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
je 0x41a82f
push eax
push eax
lea ecx, [esp + 0x1c]
call fcn.00415350
push eax
mov ecx, esi
call fcn.0041c350
test eax, eax
je 0x41a828
lea ecx, [esp + 0x2c]
mov byte [esp + 0xa4c], 0x21
call fcn.00420510
lea ecx, [esp + 0x5f8]
mov byte [esp + 0xa4c], 0x20
call fcn.00418e00
lea ecx, [esp + 0x660]
mov byte [esp + 0xa4c], 0x1f
call fcn.00418e00
lea ecx, [esp + 0x150]
mov byte [esp + 0xa4c], 0x1e
call fcn.00418e00
lea ecx, [esp + 0x55c]
mov byte [esp + 0xa4c], 0x1d
call fcn.00418e00
lea ecx, [esp + 0x3bc]
mov byte [esp + 0xa4c], 0x1c
call fcn.00418e00
lea ecx, [esp + 0x320]
mov byte [esp + 0xa4c], 0x1b
call fcn.00418e00
lea ecx, [esp + 0x7d0]
mov byte [esp + 0xa4c], 0x1a
call fcn.00418e00
lea ecx, [esp + 0xe8]
mov byte [esp + 0xa4c], 0x19
call fcn.00418e00
lea ecx, [esp + 0x458]
mov byte [esp + 0xa4c], 0x18
call fcn.00418e00
lea ecx, [esp + 0x2b8]
mov byte [esp + 0xa4c], 0x17
call fcn.00418e00
lea ecx, [esp + 0x4c0]
mov byte [esp + 0xa4c], 0x16
call fcn.00418e00
lea ecx, [esp + 0x590]
mov byte [esp + 0xa4c], 0x15
call fcn.00418e00
lea ecx, [esp + 0x424]
mov byte [esp + 0xa4c], 0x14
call fcn.00418e00
lea ecx, [esp + 0x11c]
mov byte [esp + 0xa4c], 0x13
call fcn.00418e00
lea ecx, [esp + 0x62c]
mov byte [esp + 0xa4c], 0x12
call fcn.00418e00
lea ecx, [esp + 0x7c]
mov byte [esp + 0xa4c], 0x11
call fcn.00418e00
lea ecx, [esp + 0xb0]
mov byte [esp + 0xa4c], 0x10
call fcn.00418e00
lea ecx, [esp + 0x48c]
mov byte [esp + 0xa4c], 0xf
call fcn.00418e00
lea ecx, [esp + 0x5c4]
mov byte [esp + 0xa4c], 0xe
call fcn.00418e00
lea ecx, [esp + 0x4f4]
mov byte [esp + 0xa4c], 0xd
call fcn.00418e00
lea ecx, [esp + 0x210]
mov byte [esp + 0xa4c], 0x25
call fcn.0041c5f0
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xa4c], 0xb
call fcn.00418e00
lea ecx, [esp + 0x694]
mov byte [esp + 0xa4c], 0xa
call fcn.00429250
lea ecx, [esp + 0x6c8]
mov byte [esp + 0xa4c], 9
call fcn.00418a40
lea ecx, [esp + 0x774]
mov byte [esp + 0xa4c], 7
call fcn.00418e00
mov byte [esp + 0xa4c], 6
lea ecx, [esp + 0x9fc]
call fcn.00418e00
lea ecx, [esp + 0x528]
mov byte [esp + 0xa4c], 5
call fcn.00418e00
lea ecx, [esp + 0x388]
mov byte [esp + 0xa4c], 4
call fcn.00418e00
lea ecx, [esp + 0x3f0]
mov byte [esp + 0xa4c], 3
call fcn.00418e00
lea ecx, [esp + 0x2ec]
mov byte [esp + 0xa4c], 2
call fcn.00418e00
lea ecx, [esp + 0x354]
mov byte [esp + 0xa4c], 1
call fcn.00418e00
lea ecx, [esp + 0x220]
mov byte [esp + 0xa4c], 0
call fcn.00418e00
lea ecx, [esp + 0x14]
mov dword [esp + 0xa4c], 0xffffffff
call fcn.00415140
mov eax, 0x43
jmp 0x41b7f0
mov dword [esi + 0x28], 0
lea ecx, [esp + 0x44]
call fcn.00433140
push 1
lea ecx, [esp + 0x48]
mov byte [esp + 0xa50], 0x26
call fcn.00424bf0
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x48]
call fcn.004245c0
test eax, eax
jne 0x41a883
lea ecx, [esp + 0x44]
call fcn.0042d2a0
test al, al
je 0x41a883
mov dword [esp + 0x18], 2
jmp 0x41adeb
lea ecx, [esp + 0x184]
call fcn.00432d80
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
mov byte [esp + 0xa54], 0x27
call fcn.004150c0
lea ecx, [esp + 0x188]
call fcn.004245c0
test eax, eax
jne 0x41a8d5
lea ecx, [esp + 0x184]
call fcn.00433100
test al, al
je 0x41a8d5
mov dword [esp + 0x18], 0x14
jmp 0x41ad9b
lea ecx, [esp + 0x728]
call fcn.00432960
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
mov byte [esp + 0xa54], 0x28
call fcn.004150c0
lea ecx, [esp + 0x72c]
call fcn.004245c0
test eax, eax
jne 0x41a927
lea ecx, [esp + 0x728]
call fcn.00432d40
test al, al
je 0x41a927
mov dword [esp + 0x18], 0x15
jmp 0x41ad4b
lea ecx, [esp + 0x96c]
call fcn.00431e80
push 1
lea ecx, [esp + 0x970]
mov byte [esp + 0xa50], 0x29
call fcn.00424bf0
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.004150c0
lea ecx, [esp + 0x970]
call fcn.004245c0
test eax, eax
jne 0x41a987
lea ecx, [esp + 0x96c]
call fcn.00432410
test al, al
je 0x41a987
mov dword [esp + 0x18], 0x16
jmp 0x41acd0
lea ecx, [esp + 0x28c]
call fcn.00430cf0
push 1
lea ecx, [esp + 0x290]
mov byte [esp + 0xa50], 0x2a
call fcn.00424bf0
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x290]
call fcn.004245c0
test eax, eax
jne 0x41a9e7
lea ecx, [esp + 0x28c]
call fcn.0042d7f0
test al, al
je 0x41a9e7
mov dword [esp + 0x18], 0x25
jmp 0x41aca5
lea ecx, [esp + 0x84c]
call fcn.0042f0c0
push 1
lea ecx, [esp + 0x850]
mov byte [esp + 0xa50], 0x2b
call fcn.00424bf0
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.004150c0
lea ecx, [esp + 0x850]
call fcn.004245c0
test eax, eax
jne 0x41aa47
lea ecx, [esp + 0x84c]
call fcn.0042f840
test al, al
je 0x41aa47
mov dword [esp + 0x18], 0x27
jmp 0x41ab4e
lea ecx, [esp + 0x260]
call fcn.0042e490
mov ebx, 0x2c
push 1
lea ecx, [esp + 0x264]
mov byte [esp + 0xa50], bl
call fcn.00424bf0
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x264]
call fcn.004245c0
test eax, eax
jne 0x41aaa4
lea ecx, [esp + 0x260]
call fcn.0042d7f0
test al, al
je 0x41aaa4
mov dword [esp + 0x18], ebx
jmp 0x41ab23
lea ecx, [esp + 0x6fc]
call fcn.0042cfc0
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
mov byte [esp + 0xa54], 0x2d
call fcn.004150c0
lea ecx, [esp + 0x700]
call fcn.004245c0
test eax, eax
jne 0x41aaf1
lea ecx, [esp + 0x6fc]
call fcn.0042d7f0
test al, al
mov dword [esp + 0x18], 0x30
jne 0x41aaf9
mov dword [esp + 0x18], 0x11
lea ecx, [esp + 0x718]
mov byte [esp + 0xa4c], 0x2e
call fcn.0041c7b0
push 1
lea ecx, [esp + 0x708]
mov byte [esp + 0xa50], bl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x27c]
mov byte [esp + 0xa4c], 0x2f
call fcn.0041c740
push 1
lea ecx, [esp + 0x26c]
mov byte [esp + 0xa50], 0x2b
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x960]
mov byte [esp + 0xa50], 0x3f
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x948]
mov byte [esp + 0xa4c], 0x3e
call fcn.00401080
lea ecx, [esp + 0x938]
mov byte [esp + 0xa4c], 0x3d
call fcn.0041c440
lea ecx, [esp + 0x928]
mov byte [esp + 0xa4c], 0x3c
call fcn.0041c440
lea ecx, [esp + 0x918]
mov byte [esp + 0xa4c], 0x3b
call fcn.0041c440
lea ecx, [esp + 0x908]
mov byte [esp + 0xa4c], 0x3a
call fcn.0041c440
lea ecx, [esp + 0x8f8]
mov byte [esp + 0xa4c], 0x39
call fcn.0041c440
lea ecx, [esp + 0x8e8]
mov byte [esp + 0xa4c], 0x38
call fcn.0041c440
lea ecx, [esp + 0x8d8]
mov byte [esp + 0xa4c], 0x37
call fcn.0041c440
lea ecx, [esp + 0x8c8]
mov byte [esp + 0xa4c], 0x36
call fcn.0041c6d0
lea ecx, [esp + 0x8b8]
mov byte [esp + 0xa4c], 0x35
call fcn.0041c440
lea ecx, [esp + 0x8a8]
mov byte [esp + 0xa4c], 0x34
call fcn.0041c440
lea ecx, [esp + 0x898]
mov byte [esp + 0xa4c], 0x33
call fcn.0041c440
lea ecx, [esp + 0x888]
mov byte [esp + 0xa4c], 0x32
call fcn.0041c440
lea ecx, [esp + 0x878]
mov byte [esp + 0xa4c], 0x31
call fcn.0041c440
lea ecx, [esp + 0x868]
mov byte [esp + 0xa4c], 0x30
call fcn.0041c440
lea ecx, [esp + 0x858]
mov byte [esp + 0xa4c], 0x2a
call fcn.0041c440
lea ecx, [esp + 0x2a8]
mov byte [esp + 0xa4c], 0x40
call fcn.0041c660
push 1
lea ecx, [esp + 0x298]
mov byte [esp + 0xa50], 0x29
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x9e8]
mov byte [esp + 0xa4c], 0x43
call fcn.0041c4b0
push 1
lea ecx, [esp + 0x9dc]
mov byte [esp + 0xa50], 0x42
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x9bc]
mov byte [esp + 0xa50], 0x41
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x974]
mov dword [esp + 0x10], ecx
push 1
lea ecx, [esp + 0x988]
mov byte [esp + 0xa50], 0x44
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x978]
mov byte [esp + 0xa50], 0x28
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x764]
mov byte [esp + 0xa50], 0x45
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea edx, [esp + 0x730]
mov dword [esp + 0x10], edx
push 1
lea ecx, [esp + 0x744]
mov byte [esp + 0xa50], 0x46
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x734]
mov byte [esp + 0xa50], 0x27
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x1c0]
mov byte [esp + 0xa50], 0x47
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea eax, [esp + 0x18c]
mov dword [esp + 0x10], eax
push 1
lea ecx, [esp + 0x1a0]
mov byte [esp + 0xa50], 0x48
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x190]
mov byte [esp + 0xa50], 0x26
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x60]
mov byte [esp + 0xa4c], 0x49
call fcn.0040caf0
lea ecx, [esp + 0x50]
mov byte [esp + 0xa4c], 0x24
call fcn.0041c440
jmp 0x41a521
mov ecx, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x4c8]
call fcn.00419460
mov eax, dword [esp + 0x4c8]
test eax, eax
je 0x41ae42
mov eax, dword [eax]
jmp 0x41ae44
xor eax, eax
mov ecx, dword [esp + 0x4f0]
cmp ecx, 0x20
jb 0x41ae8f
cmp word [eax], 0x18
jne 0x41ae8f
cmp word [eax + 2], 0x18
jne 0x41ae8f
cmp word [eax + 4], 0x40
jg 0x41ae8f
cmp word [eax + 6], 0
jne 0x41ae8f
cmp dword [eax + 8], ecx
jne 0x41ae8f
cmp dword [eax + 0xc], ecx
jg 0x41ae8f
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x41ae8f
cmp dword [eax + 0x14], 0xd1affff
jne 0x41ae8f
mov esi, 0x32
jmp 0x41b55d
mov eax, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x2c0]
call fcn.00419460
mov eax, dword [esp + 0x2c0]
test eax, eax
je 0x41aebf
mov eax, dword [eax]
jmp 0x41aec1
xor eax, eax
mov ecx, dword [esp + 0x2e8]
cmp ecx, 0x28
jb 0x41af03
cmp word [eax], 0x18
jne 0x41af03
cmp word [eax + 2], 0x18
jne 0x41af03
cmp word [eax + 4], 0x40
jg 0x41af03
cmp word [eax + 6], 0
jne 0x41af03
cmp dword [eax + 0xc], ecx
jne 0x41af03
cmp dword [eax + 0x10], ecx
jg 0x41af03
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x41af03
mov esi, 0x33
jmp 0x41b55d
mov eax, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x460]
call fcn.00419460
mov ecx, dword [esp + 0x460]
test ecx, ecx
je 0x41af33
mov eax, dword [ecx]
jmp 0x41af35
xor eax, eax
mov esi, dword [esp + 0x488]
cmp esi, 0x10
jb 0x41affb
cmp dword [eax], 0
je 0x41affb
mov edx, dword [eax + 4]
test edx, edx
je 0x41affb
mov edx, dword [eax + 8]
cmp edx, 0x30
je 0x41af6a
cmp edx, 0x3c
jne 0x41affb
mov eax, dword [eax + 0xc]
shl eax, 1
cmp eax, edx
jne 0x41affb
test ecx, ecx
je 0x41af7f
mov eax, dword [ecx]
jmp 0x41af81
xor eax, eax
mov edx, dword [eax]
test ecx, ecx
je 0x41af8b
mov eax, dword [ecx]
jmp 0x41af8d
xor eax, eax
mov eax, dword [eax + 4]
imul eax, edx
lea edx, [eax*4 + 0x10]
cmp edx, esi
ja 0x41affb
xor esi, esi
test ecx, ecx
je 0x41afa8
mov eax, dword [ecx]
jmp 0x41afaa
xor eax, eax
mov edx, dword [eax]
test ecx, ecx
je 0x41afb4
mov eax, dword [ecx]
jmp 0x41afb6
xor eax, eax
mov eax, dword [eax + 4]
imul eax, edx
cmp eax, 0x40
jge 0x41afe5
test ecx, ecx
je 0x41afc9
mov eax, dword [ecx]
jmp 0x41afcb
xor eax, eax
mov edx, dword [eax]
test ecx, ecx
je 0x41afdb
mov eax, dword [ecx]
mov eax, dword [eax + 4]
imul eax, edx
jmp 0x41afea
xor eax, eax
mov eax, dword [eax + 4]
imul eax, edx
jmp 0x41afea
mov eax, 0x40
cmp esi, eax
jge 0x41aff1
inc esi
jmp 0x41afa0
mov esi, 0x34
jmp 0x41b55d
mov eax, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0xf0]
call fcn.00419460
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x41b02b
mov esi, dword [eax]
jmp 0x41b02d
xor esi, esi
cmp dword [esp + 0x118], 0x1a
jb 0x41b097
mov edi, str.Creative_Voice_File
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Creative_Voice_File
push esi
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x41b097
movsx eax, word [esi + 0x14]
mov ecx, dword [esp + 0x118]
add eax, 6
cmp eax, ecx
ja 0x41b097
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x41b07d
mov eax, dword [eax]
mov ecx, eax
jmp 0x41b081
xor eax, eax
xor ecx, ecx
movsx ecx, word [ecx + 0x14]
mov dl, byte [ecx + eax + 5]
test dl, dl
jne 0x41b097
mov esi, 0x35
jmp 0x41b55d
mov edx, dword [ebx + 0x30]
lea eax, [esp + 0x14]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.004150c0
lea ecx, [esp + 0x7d8]
call fcn.00419460
cmp dword [esp + 0x800], 0x3e
jb 0x41b0fd
mov ecx, dword [esp + 0x80c]
mov eax, dword [0x47b8f8]
cmp ecx, eax
jne 0x41b0fd
mov edx, dword [esp + 0x814]
mov eax, dword [0x47b900]
cmp edx, eax
jne 0x41b0fd
mov eax, dword [esp + 0x818]
mov ecx, dword [0x47b904]
cmp eax, ecx
jne 0x41b0fd
mov esi, 0x37
jmp 0x41b55d
mov ecx, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x328]
call fcn.00419460
mov eax, dword [esp + 0x328]
test eax, eax
je 0x41b12d
mov eax, dword [eax]
jmp 0x41b12f
xor eax, eax
mov ecx, dword [esp + 0x350]
cmp ecx, 4
jb 0x41b158
mov eax, dword [eax]
mov edx, eax
shl edx, 8
add edx, eax
shl edx, 7
add edx, 4
cmp edx, ecx
jne 0x41b158
mov esi, 0x38
jmp 0x41b55d
mov eax, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x3c4]
call fcn.00419460
mov eax, dword [esp + 0x3c4]
test eax, eax
je 0x41b188
mov edi, dword [eax]
jmp 0x41b18a
xor edi, edi
mov ebp, dword [esp + 0x3ec]
cmp ebp, 0x322
jb 0x41b218
mov esi, 0x46abb8
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41b1c4
test cl, cl
je 0x41b1c0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41b1c4
add eax, 2
add esi, 2
test cl, cl
jne 0x41b1a0
xor eax, eax
jmp 0x41b1c9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41b218
cmp dword [edi + 0x10], 1
jne 0x41b218
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x18]
cmp ecx, eax
jne 0x41b218
lea edx, [eax + eax*2]
shl edx, 3
sub edx, eax
lea eax, [ecx*8]
sub eax, ecx
neg eax
shl edx, 2
shl eax, 2
sub eax, edx
lea ecx, [eax + ebp - 0x322]
mov eax, dword [edi + 0x1c]
cmp eax, ecx
jne 0x41b218
cmp word [edi + 0x20], 0x1f10
jne 0x41b218
mov esi, 0x39
jmp 0x41b55d
mov edx, dword [ebx + 0x30]
lea eax, [esp + 0x14]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.004150c0
lea ecx, [esp + 0x564]
call fcn.00419460
mov eax, dword [esp + 0x564]
test eax, eax
je 0x41b248
mov ecx, dword [eax]
jmp 0x41b24a
xor ecx, ecx
mov edi, dword [esp + 0x58c]
cmp edi, 0xe
jb 0x41b2dc
mov cx, word [ecx]
cmp cx, 1
jl 0x41b2dc
cmp cx, 0x3e8
jg 0x41b2dc
test eax, eax
je 0x41b272
mov ecx, dword [eax]
jmp 0x41b274
xor ecx, ecx
movsx ecx, word [ecx]
lea edx, [ecx*4 + 0x12]
cmp edx, edi
ja 0x41b2dc
test eax, eax
je 0x41b28a
mov ecx, dword [eax]
jmp 0x41b28c
xor ecx, ecx
movsx esi, word [ecx]
test eax, eax
je 0x41b299
mov ecx, dword [eax]
mov edx, ecx
jmp 0x41b29d
xor ecx, ecx
xor edx, edx
movsx edx, word [edx]
mov ebp, dword [ecx + edx*4 + 0xe]
test ebp, ebp
je 0x41b2c2
test eax, eax
je 0x41b2b0
mov eax, dword [eax]
jmp 0x41b2b2
xor eax, eax
cmp dword [eax + esi*4 + 0xe], edi
jne 0x41b2dc
mov esi, 0x3d
jmp 0x41b55d
test eax, eax
je 0x41b2ca
mov eax, dword [eax]
jmp 0x41b2cc
xor eax, eax
cmp dword [eax + esi*4 + 0xa], edi
jne 0x41b2dc
mov esi, 0x3d
jmp 0x41b55d
mov eax, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x158]
call fcn.00419460
mov eax, dword [esp + 0x158]
test eax, eax
je 0x41b30c
mov ecx, dword [eax]
jmp 0x41b30e
xor ecx, ecx
mov edx, dword [esp + 0x180]
cmp edx, 0xe
mov ebp, edx
jb 0x41b3e0
mov cx, word [ecx]
cmp cx, 1
jl 0x41b3e0
cmp cx, 0x3e8
jg 0x41b3e0
test eax, eax
je 0x41b340
mov ecx, dword [eax]
jmp 0x41b342
xor ecx, ecx
movsx ecx, word [ecx]
lea ecx, [ecx*4 + 0x16]
cmp ecx, edx
ja 0x41b3e0
test eax, eax
je 0x41b35c
mov ecx, dword [eax]
jmp 0x41b35e
xor ecx, ecx
movsx edi, word [ecx]
test eax, eax
je 0x41b36b
mov ecx, dword [eax]
mov edx, ecx
jmp 0x41b36f
xor ecx, ecx
xor edx, edx
movsx edx, word [edx]
mov esi, dword [ecx + edx*4 + 0x12]
test esi, esi
je 0x41b3ad
test eax, eax
je 0x41b382
mov esi, dword [eax]
jmp 0x41b384
xor esi, esi
lea ecx, [esp + 0x150]
call fcn.0041b910
mov edx, dword [esi + edi*4 + 0x12]
neg al
sbb eax, eax
and eax, 0x300
add eax, edx
cmp eax, ebp
jne 0x41b3e0
mov esi, 0x3e
jmp 0x41b55d
test eax, eax
je 0x41b3b5
mov esi, dword [eax]
jmp 0x41b3b7
xor esi, esi
lea ecx, [esp + 0x150]
call fcn.0041b910
mov edx, dword [esi + edi*4 + 0xe]
neg al
sbb eax, eax
and eax, 0x300
add eax, edx
cmp eax, ebp
jne 0x41b3e0
mov esi, 0x3e
jmp 0x41b55d
mov eax, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x668]
call fcn.00419460
mov ebp, dword [esp + 0x668]
test ebp, ebp
je 0x41b411
mov edi, dword [ebp]
jmp 0x41b413
xor edi, edi
mov edx, dword [esp + 0x690]
cmp edx, 0x2c
jb 0x41b494
mov esi, 0x46abc8
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x41b44a
test cl, cl
je 0x41b446
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x41b44a
add eax, 2
add esi, 2
test cl, cl
jne 0x41b426
xor eax, eax
jmp 0x41b44f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41b490
cmp dword [edi + 0x20], edx
jne 0x41b490
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x41b490
test ebp, ebp
je 0x41b47a
mov eax, dword [ebp]
xor ecx, ecx
mov edx, dword [eax + 0x24]
test edx, edx
setne cl
add ecx, 0x3f
mov esi, ecx
jmp 0x41b55d
xor eax, eax
xor ecx, ecx
mov edx, dword [eax + 0x24]
test edx, edx
setne cl
add ecx, 0x3f
mov esi, ecx
jmp 0x41b55d
mov ebx, dword [esp + 0x20]
mov edx, dword [ebx + 0x30]
lea eax, [esp + 0x14]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.004150c0
lea ecx, [esp + 0x600]
call fcn.00419460
mov eax, dword [esp + 0x600]
test eax, eax
je 0x41b4c4
mov eax, dword [eax]
jmp 0x41b4c6
xor eax, eax
cmp dword [esp + 0x628], 0xc
jb 0x41b4eb
cmp dword [eax], 0x1a464958
jne 0x41b4eb
mov eax, dword [eax + 4]
test eax, eax
je 0x41b4e4
cmp eax, 1
jne 0x41b4eb
mov esi, 0x41
jmp 0x41b55d
mov ecx, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0xa04]
call fcn.00419460
lea ecx, [esp + 0x9fc]
call fcn.00421e20
test al, al
je 0x41b523
mov esi, 0x19
jmp 0x41b55d
mov eax, dword [ebx + 0x30]
lea edx, [esp + 0x14]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004150c0
lea ecx, [esp + 0x1e4]
call fcn.00419460
lea ecx, [esp + 0x1dc]
call fcn.0042bef0
test al, al
mov esi, 0x1e
jne 0x41b55d
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x5f8]
mov byte [esp + 0xa4c], 0x20
call fcn.00418e00
lea ecx, [esp + 0x660]
mov byte [esp + 0xa4c], 0x1f
call fcn.00418e00
lea ecx, [esp + 0x150]
mov byte [esp + 0xa4c], 0x1e
call fcn.00418e00
lea ecx, [esp + 0x55c]
mov byte [esp + 0xa4c], 0x1d
call fcn.00418e00
lea ecx, [esp + 0x3bc]
mov byte [esp + 0xa4c], 0x1c
call fcn.00418e00
lea ecx, [esp + 0x320]
mov byte [esp + 0xa4c], 0x1b
call fcn.00418e00
lea ecx, [esp + 0x7d0]
mov byte [esp + 0xa4c], 0x1a
call fcn.00418e00
lea ecx, [esp + 0xe8]
mov byte [esp + 0xa4c], 0x19
call fcn.00418e00
lea ecx, [esp + 0x458]
mov byte [esp + 0xa4c], 0x18
call fcn.00418e00
lea ecx, [esp + 0x2b8]
mov byte [esp + 0xa4c], 0x17
call fcn.00418e00
lea ecx, [esp + 0x4c0]
mov byte [esp + 0xa4c], 0x16
call fcn.00418e00
lea ecx, [esp + 0x590]
mov byte [esp + 0xa4c], 0x15
call fcn.00418e00
lea ecx, [esp + 0x424]
mov byte [esp + 0xa4c], 0x14
call fcn.00418e00
lea ecx, [esp + 0x11c]
mov byte [esp + 0xa4c], 0x13
call fcn.00418e00
lea ecx, [esp + 0x62c]
mov byte [esp + 0xa4c], 0x12
call fcn.00418e00
lea ecx, [esp + 0x7c]
mov byte [esp + 0xa4c], 0x11
call fcn.00418e00
lea ecx, [esp + 0xb0]
mov byte [esp + 0xa4c], 0x10
call fcn.00418e00
lea ecx, [esp + 0x48c]
mov byte [esp + 0xa4c], 0xf
call fcn.00418e00
lea ecx, [esp + 0x5c4]
mov byte [esp + 0xa4c], 0xe
call fcn.00418e00
lea ecx, [esp + 0x4f4]
mov byte [esp + 0xa4c], 0xd
call fcn.00418e00
lea ecx, [esp + 0x210]
mov byte [esp + 0xa4c], 0x4a
call fcn.0041c5f0
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xa4c], 0xb
call fcn.00418e00
lea ecx, [esp + 0x694]
mov byte [esp + 0xa4c], 0xa
call fcn.00429250
lea ecx, [esp + 0x6c8]
mov byte [esp + 0xa4c], 9
call fcn.00418a40
lea ecx, [esp + 0x774]
mov byte [esp + 0xa4c], 7
call fcn.00418e00
lea ecx, [esp + 0x9fc]
mov byte [esp + 0xa4c], 6
call fcn.00418e00
mov byte [esp + 0xa4c], 5
lea ecx, [esp + 0x528]
call fcn.00418e00
lea ecx, [esp + 0x388]
mov byte [esp + 0xa4c], 4
call fcn.00418e00
lea ecx, [esp + 0x3f0]
mov byte [esp + 0xa4c], 3
call fcn.00418e00
lea ecx, [esp + 0x2ec]
mov byte [esp + 0xa4c], 2
call fcn.00418e00
lea ecx, [esp + 0x354]
mov byte [esp + 0xa4c], 1
call fcn.00418e00
lea ecx, [esp + 0x220]
mov byte [esp + 0xa4c], 0
call fcn.00418e00
lea ecx, [esp + 0x14]
mov dword [esp + 0xa4c], 0xffffffff
call fcn.00415140
mov eax, esi
mov ecx, dword [esp + 0xa44]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xa40
ret 4