Function at 0x40f8f9
Capabilities:
Authenticate hmac
Inspect section memory permissions
Terminate process

Disassembly:
mov esi, dword [ebp - 0x19c]
sub eax, eax
cmp dword [esi + 8], eax
jne 0x40f88c
mov edi, esi
cmp byte [edi + 0x24], 4
jne 0x40f885
mov eax, 0x1000000
mov dword [0x418f8c], eax
mov esi, dword [ebp - 0x198]
add esi, 8
mov dword [0x418f90], esi
cmp byte [edi + 0x25], 2
jne 0x40f85a
sub dword [0x418f90], 0x14
jmp 0x40f870
cmp byte [edi + 0x25], 3
jne 0x40f869
sub dword [0x418f90], 0x18
jmp 0x40f870
sub dword [0x418f90], 4
mov ebx, dword [0x418f90]
mov dword [ebp - 0x194], ebx
push 0xffffffffffffff9c
call 0x40f8f9
jmp 0x40f8ef
mov al, 3
mov byte [edi + 0x26], al
jmp 0x40f8ef
call fcn.0040ad7a
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x40f8ef
cmp byte [edi + 0x24], 3
jne 0x40f8ae
mov esi, dword [ebp - 0x194]
mov dword [edi + 0x20], esi
jmp 0x40f8ef
cmp byte [edi + 0x24], 4
jne 0x40f8bd
push 0xffffffffffffff9c
call 0x40f8f9
jmp 0x40f8ef
cmp byte [edi + 0x24], 2
jne 0x40f8ea
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
mov edi, dword [ebp - 0x1c4]
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
call fcn.00409d97
jmp 0x40f8ef
mov al, 3
mov byte [edi + 0x26], al
cmp dword [esp + 4], 0xffffff9b
jne 0x40f8f9
ret 4
mov edi, dword [ebp - 0x19c]
mov al, 4
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
je 0x40fa51
mov ecx, dword [0x418f8c]
bswap ecx
cmp ecx, 0x43
ja 0x40fa51
mov edi, dword [0x418f8c]
bswap edi
lea edi, [edi*4 - 4]
cmp edi, 0x108
jbe 0x40f94b
mov eax, 0x4156c8
mov ecx, 0xa4a
call fcn.00414a46
mov ecx, dword [ebp - 0x198]
add edi, ecx
cmp dword [edi + 8], 0
jne 0x40f960
call fcn.0040acd0
jmp 0x40f904
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x25], 2
jne 0x40f9af
mov edi, dword [ebp - 0x194]
cmp dword [edi + 0x14], 0
jne 0x40f97f
call fcn.0040acd0
jmp 0x40f904
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
mov esi, dword [ebp - 0x194]
mov ebx, dword [esi + 0x14]
mov dword [ebp - 0x194], ebx
mov esi, ebx
mov dword [edi + 0x20], esi
mov eax, dword [esi + 0xc]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0xc], eax
jmp 0x40f904
cmp byte [edi + 0x25], 3
jne 0x40f9fb
mov edi, dword [ebp - 0x194]
cmp dword [edi + 0x18], 0
jne 0x40f9cb
call fcn.0040acd0
jmp 0x40f904
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
mov esi, dword [ebp - 0x194]
mov ebx, dword [esi + 0x18]
mov dword [ebp - 0x194], ebx
mov esi, ebx
mov dword [edi + 0x20], esi
mov eax, dword [esi + 0x24]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 0xc], eax
jmp 0x40f904
mov edi, dword [ebp - 0x194]
cmp dword [edi + 4], 0
jne 0x40fa11
call fcn.0040acd0
jmp 0x40f904
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
mov esi, dword [ebp - 0x194]
mov ebx, dword [esi + 4]
mov dword [ebp - 0x194], ebx
mov esi, ebx
mov dword [edi + 0x20], esi
cmp byte [edi + 0x25], al
jne 0x40fa40
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
jmp 0x40f904
mov eax, dword [esi + 0xc]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0xc], eax
jmp 0x40f904
cmp dword [esp + 4], 0xffffff9c
jne 0x40fa5b
ret 4
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x40fa93
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x30f
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 8]
mov dword [0x418a98], eax
mov eax, dword [esi + 0xc]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov esi, dword [ebp - 0x1d8]
add esi, 0x1dc
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x194], ebx
mov al, 0xef
mov byte [0x41ba90], al
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x24], 1
jne 0x40fb11
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x164], ebx
mov esi, ebx
movzx edx, word [esi + 1]
xchg dl, dh
shl edx, 8
mov dl, byte [esi + 3]
mov dword [0x41ba88], edx
mov eax, dword [esi + 0xc]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0xc], eax
mov al, 1
mov byte [edi + 0x25], al
call fcn.0040adc9
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x40fb08
mov al, 6
mov byte [edi + 0x26], al
jmp 0x40fb27
push 0xffffffffffffff95
call fcn.0040f3c4
jmp 0x40fb27
cmp byte [edi + 0x24], 3
jne 0x40fb20
push 0xffffffffffffff9d
call 0x40fb5f
jmp 0x40fb27
push 0xffffffffffffff96
call fcn.0040f4b6
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x40fb5f
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x410
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [0x418a98], eax
mov eax, dword [esi + 0x24]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x164], ebx
mov edi, dword [ebp - 0x19c]
sub ecx, ecx
mov dword [edi + 0x20], ecx
mov al, 1
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x164]
cmp dword [edi + 4], 0
je 0x40fbcc
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
je 0x40fbcc
mov esi, dword [ebp - 0x164]
mov ebx, dword [esi + 4]
mov dword [ebp - 0x164], ebx
mov esi, edi
mov edi, ebx
mov eax, dword [esi + 8]
cmp dword [edi + 0xc], eax
jne 0x40fb83
mov eax, dword [esi + 0xc]
cmp dword [edi + 0x10], eax
jne 0x40fb83
mov edi, esi
mov al, 0
mov byte [edi + 0x26], al
mov esi, ebx
mov dword [edi + 0x20], esi
jmp 0x40fb83
cmp dword [esp + 4], 0xffffff9d
jne 0x40fbd6
ret 4
mov esi, dword [ebp - 0xec]
mov edi, 0x418f88
mov ebx, 8
mov eax, dword [ebp - 0x19c]
movzx ecx, word [eax + 0xc]
call fcn.00424250
mov ax, 2
mov word [0x418a7e], ax
movsx edx, word [0x418a7e]
shl edx, 2
mov esi, dword [ebp - 0x19c]
movzx ebx, word [esi + 0xc]
cmp edx, ebx
jg 0x40fc63
movsx esi, word [0x418a7e]
lea esi, [esi*4 - 4]
cmp esi, 0xffc
jbe 0x40fc3c
mov eax, 0x4156c8
mov ecx, 0xacd
call fcn.00414a46
mov ecx, dword [ebp - 0xec]
add esi, ecx
mov ebx, dword [esi]
bswap ebx
mov edx, dword [0x418f88]
bswap edx
add edx, ebx
bswap edx
mov dword [0x418f88], edx
inc word [0x418a7e]
jmp 0x40fbff
movzx ebx, word [esi + 0xc]
mov edx, dword [0x418f88]
bswap edx
add edx, ebx
mov eax, edx
bswap eax
mov dword [0x418f88], eax
push edx
mov ecx, 0x43
mov eax, edx
sub edx, edx
div ecx
mov edx, eax
mov dword [0x418a6c], edx
mov ebx, ecx
imul ebx, edx
pop edx
sub edx, ebx
inc edx
bswap edx
mov dword [0x418f8c], edx
mov eax, edx
bswap eax
lea esi, [ecx + eax*4 - 0x47]
cmp esi, 0x108
jbe 0x40fcbd
mov eax, 0x4156c8
mov cx, 0xad3
call fcn.00414a46
mov ecx, dword [ebp - 0x198]
lea esi, [esi + ecx + 8]
mov dword [0x418f90], esi
sub dword [0x418f90], 4
mov ebx, dword [0x418f90]
mov dword [ebp - 0x194], ebx
mov edi, dword [ebp - 0x19c]
mov al, 1
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x194]
cmp dword [edi + 4], 0
je 0x40fe51
mov esi, edi
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1c4], ebx
mov esi, edi
mov ebx, dword [esi + 4]
mov dword [ebp - 0x194], ebx
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x27], 0x13
jne 0x40fd7a
mov esi, ebx
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x108], ebx
mov esi, edi
mov edi, ebx
mov ax, word [esi + 0xc]
cmp word [edi + 0x20], ax
jne 0x40fceb
call fcn.004012e3
mov esi, dword [ebp - 0x108]
add esi, 0x22
mov edi, dword [ebp - 0xec]
lea eax, [esi - 0x22]
movzx ebx, word [eax + 0x20]
mov ecx, dword [0x423d60]
bswap ecx
call fcn.00424260
jne 0x40fceb
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
jmp 0x40fe51
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x27], 0x14
jne 0x40fde7
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x104], ebx
mov esi, edi
mov edi, ebx
mov ax, word [esi + 0xc]
cmp word [edi + 0x28], ax
jne 0x40fceb
call fcn.004012f6
mov esi, dword [ebp - 0x104]
add esi, 0x2a
mov edi, dword [ebp - 0xec]
lea eax, [esi - 0x2a]
movzx ebx, word [eax + 0x28]
mov ecx, dword [0x423d64]
bswap ecx
call fcn.00424260
jne 0x40fceb
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
jmp 0x40fe51
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x110], ebx
mov esi, dword [ebp - 0x19c]
mov edi, ebx
mov ax, word [esi + 0xc]
cmp word [edi + 0x22], ax
jne 0x40fceb
call fcn.004012d0
mov esi, dword [ebp - 0x110]
add esi, 0x24
mov edi, dword [ebp - 0xec]
lea eax, [esi - 0x24]
movzx ebx, word [eax + 0x22]
mov ecx, dword [0x423d5c]
bswap ecx
call fcn.00424260
jne 0x40fceb
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
jmp 0x40fe51
cmp dword [esp + 4], 0xffffff9e
jne 0x40fe5b
ret 4
mov ax, word [0x41ba88]
xchg al, ah
mov word [0x418fc0], ax
add dword [0x41ba88], 8
mov al, 0xed
mov byte [0x41ba90], al
call fcn.0040a198
cmp byte [0x41ba91], 0
jne 0x40feb0
mov ebx, dword [0x41ba8c]
mov dword [ebp - 0x1c4], ebx
mov esi, dword [ebp - 0xec]
lea edi, [ebx + 8]
movzx ecx, word [0x418fc0]
xchg cl, ch
rep movsb byte es:[edi], byte [esi]
lea esi, [ebx + 8]
mov dword [0x41ba8c], esi
jmp 0x40fec3
mov edi, dword [ebp - 0x19c]
mov al, 7
mov byte [edi + 0x26], al
sub ecx, ecx
mov dword [0x41ba8c], ecx
cmp dword [esp + 4], 0xffffff9f
jne 0x40fecd
ret 4
sub dword [0x41ba8c], 8
mov ebx, dword [0x41ba8c]
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
cmp dword [esp + 4], 0xffffffa0
jne 0x40feef
ret 4
mov edi, dword [ebp - 0x110]
cmp dword [edi + 0xc], 0
je 0x40ffbd
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x40ffbd
mov al, 0x13
mov byte [edi + 0x27], al
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x214]
mov dword [ebp - 0x198], ebx
mov esi, dword [ebp - 0x110]
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x108], ebx
mov eax, dword [esi + 0xc]
mov dword [edi + 0x20], eax
lea esi, [ebx + 0x22]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xec], ebx
add esi, 0xffffffde
mov ax, word [esi + 0x20]
mov word [edi + 0xc], ax
push 0xffffffffffffff9e
call 0x40fbd6
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x40ff80
mov esi, dword [ebp - 0x108]
mov edi, dword [ebp - 0x110]
mov dword [edi + 0xc], esi
mov edi, esi
inc dword [edi + 0x10]
jmp 0x40ffc8
push 0xffffffffffffffad
call 0x411d69
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x40ffb0
mov edi, dword [ebp - 0x108]
inc dword [edi + 0x10]
mov esi, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x110]
mov eax, dword [esi + 0x20]
mov dword [edi + 0xc], eax
jmp 0x40ffc8
mov edi, dword [ebp - 0x110]
sub ecx, ecx
mov dword [edi + 0xc], ecx
jmp 0x40ffc8
mov edi, dword [ebp - 0x110]
sub ecx, ecx
mov dword [edi + 0xc], ecx
mov edi, dword [ebp - 0x110]
cmp dword [edi + 0x10], 0
je 0x410094
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x410094
mov al, 0x14
mov byte [edi + 0x27], al
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x218]
mov dword [ebp - 0x198], ebx
mov esi, dword [ebp - 0x110]
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x104], ebx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x20], eax
lea esi, [ebx + 0x2a]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xec], ebx
add esi, 0xffffffd6
mov ax, word [esi + 0x28]
mov word [edi + 0xc], ax
push 0xffffffffffffff9e
call 0x40fbd6
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x41005a
mov esi, dword [ebp - 0x104]
mov edi, dword [ebp - 0x110]
mov dword [edi + 0x10], esi
mov edi, esi
inc word [edi + 0x26]
jmp 0x41009f
push 0xffffffffffffffae
call 0x41268c
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x410087
mov esi, edi
mov edi, dword [ebp - 0x110]
mov eax, dword [esi + 0x20]
mov dword [edi + 0x10], eax
mov edi, dword [ebp - 0x104]
inc word [edi + 0x26]
jmp 0x41009f
mov edi, dword [ebp - 0x110]
sub ecx, ecx
mov dword [edi + 0x10], ecx
jmp 0x41009f
mov edi, dword [ebp - 0x110]
sub ecx, ecx
mov dword [edi + 0x10], ecx
mov esi, dword [ebp - 0x110]
mov edi, dword [ebp - 0x19c]
mov dword [edi + 0x20], esi
add esi, 0x22
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x100], ebx
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x210]
mov dword [ebp - 0x10c], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 4
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x10c], ebx
mov edi, dword [ebp - 0x10c]
cmp dword [edi + 8], 0
jne 0x410109
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [edi + 8], eax
jmp 0x410196
mov esi, edi
mov ebx, dword [esi + 8]
mov dword [ebp - 0x110], ebx
call fcn.004012d0
mov eax, dword [0x423d5c]
mov dword [0x418828], eax
call fcn.00401309
mov esi, dword [ebp - 0x110]
add esi, 0x24
mov edi, dword [ebp - 0x100]
add edi, 2
mov ebx, dword [0x423d68]
bswap ebx
mov ecx, dword [0x418828]
bswap ecx
call fcn.00424260
jae 0x410182
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x110], ebx
mov esi, dword [ebp - 0x10c]
mov edi, ebx
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov esi, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x10c]
mov eax, dword [esi + 0x20]
mov dword [edi + 8], eax
jmp 0x410196
mov esi, dword [ebp - 0x10c]
mov ebx, dword [esi + 8]
mov dword [ebp - 0x10c], ebx
jmp 0x4100ec
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x110], ebx
cmp dword [esp + 4], 0xffffffa1
jne 0x4101af
ret 4
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x410213
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x331
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 8]
mov dword [0x418a98], eax
mov eax, dword [esi + 0xc]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x137
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x18]
mov dword [0x418a98], eax
mov eax, dword [esi + 0x1c]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov edi, dword [ebp - 0x19c]
mov al, 1
mov byte [edi + 0x25], al
cmp byte [edi + 0x24], al
jne 0x41022f
push 0xffffffffffffffa2
call 0x410397
jmp 0x41035f
cmp byte [edi + 0x24], 0x35
jne 0x4102a0
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x2ac]
mov dword [ebp - 0x198], ebx
lea esi, [ebx + 8]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x194], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 4
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x194], ebx
mov eax, 0x1000000
mov dword [0x418f8c], eax
push 0xffffffffffffffa7
call 0x410b38
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x41035f
push 0xffffffffffffffa3
call 0x410778
jmp 0x41035f
cmp byte [edi + 0x24], 0x34
je 0x4102ac
cmp byte [edi + 0x24], 0x36
jne 0x4102e5
push 0xffffffffffffffa6
call 0x410913
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x24], 0x36
jne 0x4102cc
cmp byte [edi + 0x26], 0
jne 0x4102cc
push 0xffffffffffffffa7
call 0x410b38
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x41035f
push 0xffffffffffffffa3
call 0x410778
jmp 0x41035f
push 0xffffffffffffffa5
call 0x41084e
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x24], 3
jne 0x410301
push 0xffffffffffffffa3
call 0x410778
jmp 0x41035f
cmp byte [edi + 0x24], 4
jne 0x410329
cmp byte [edi + 0x26], 0
jne 0x41035f
push 0xffffffffffffffab
call 0x410d3a
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x41035f
push 0xffffffffffffffa3
call 0x410778
jmp 0x41035f
cmp byte [edi + 0x24], 0x33
jne 0x41034b
push 0xffffffffffffffaa
call 0x410ced
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x41035f
push 0xffffffffffffffa3
call 0x410778
jmp 0x41035f
cmp byte [edi + 0x24], 2
jne 0x41035a
push 0xffffffffffffffa9
call 0x410c49
jmp 0x41035f
mov al, 3
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x410397
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x432
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [0x418a98], eax
mov eax, dword [esi + 0x24]
mov dword [0x418a9c], eax
call fcn.0040b4e5
push 0xffffffffffffffa6
call 0x410913
mov esi, dword [ebp - 0x19c]
sub eax, eax
cmp dword [esi + 8], eax
jne 0x4103b0
cmp dword [esi + 0xc], eax
je 0x4103bf
mov eax, 0x20202020
cmp dword [esi + 8], eax
jne 0x4103cb
cmp dword [esi + 0xc], eax
jne 0x4103cb
mov edi, esi
mov al, 3
mov byte [edi + 0x26], al
jmp 0x41076e
mov edi, esi
cmp byte [edi + 0x26], 0
jne 0x4103ea
push 0xffffffffffffffa3
call 0x410778
mov edi, dword [ebp - 0x19c]
mov al, 0x25
mov byte [edi + 0x26], al
jmp 0x41076e
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 1
jne 0x4104bc
mov edx, dword [0x418f8c]
bswap edx
mov dword [0x418a54], edx
mov ebx, dword [0x418f90]
mov dword [ebp - 0x194], ebx
mov edi, dword [ebp - 0x194]
cmp dword [edi + 0xb0], 0
je 0x4104bc
mov esi, edi
mov ebx, dword [esi + 0xb0]
mov dword [ebp - 0x194], ebx
mov esi, dword [ebp - 0x19c]
mov edi, ebx
mov al, byte [esi + 0x25]
cmp byte [edi + 0xb4], al
jne 0x410414
call fcn.004012be
mov eax, dword [0x423d48]
mov dword [0x418828], eax
call fcn.0040121e
mov esi, dword [ebp - 0x138]
mov edi, dword [ebp - 0x194]
add edi, 0xb5
mov ebx, dword [0x423d1c]
bswap ebx
mov ecx, dword [0x418828]
bswap ecx
call fcn.00424260
jne 0x410414
mov esi, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x194]
mov eax, dword [esi + 8]
cmp dword [edi + 0x1d], eax
jne 0x4104a5
mov eax, dword [esi + 0xc]
cmp dword [edi + 0x21], eax
je 0x410414
push 0xffffffffffffffa3
call 0x410778
mov edi, dword [ebp - 0x19c]
mov al, 0x26
mov byte [edi + 0x26], al
jmp 0x41076e
push 0xffffffffffffffa5
call 0x41084e
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x4104e6
push 0xffffffffffffffa3
call 0x410778
mov edi, dword [ebp - 0x19c]
mov al, 6
mov byte [edi + 0x26], al
jmp 0x41076e
cmp dword [edi + 0x10], 0
jne 0x4104f1
mov al, 0
mov byte [edi + 0x25], al
mov esi, edi
sub edx, edx
mov dl, byte [esi + 0x25]
add edx, 0xb5
mov dword [0x41ba88], edx
mov al, 0x94
mov byte [0x41ba90], al
call fcn.0040a198
cmp byte [0x41ba91], 0
je 0x410529
mov edi, dword [ebp - 0x19c]
mov al, 7
mov byte [edi + 0x26], al
jmp 0x41076e
mov ebx, dword [0x41ba8c]
mov dword [ebp - 0x1c4], ebx
mov esi, dword [ebp - 0x194]
mov edi, ebx
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edi, esi
mov eax, dword [0x41ba8c]
mov dword [edi + 4], eax
mov ebx, dword [0x41ba8c]
mov dword [ebp - 0x194], ebx
lea esi, [ebx + 8]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xa0], ebx
mov edi, ebx
sub eax, eax
lea ecx, [eax + 0x2b]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov edi, ebx
mov eax, 0x45454341
mov dword [edi], eax
mov word [edi + 5], cx
mov al, 0xad
mov byte [edi + 7], al
mov al, 1
mov byte [edi + 8], al
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 8]
mov dword [edi + 0x15], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x19], eax
mov eax, dword [esi + 8]
mov dword [edi + 0x1e], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x22], eax
mov al, 8
mov byte [edi + 0x14], al
mov eax, dword [ebp - 0xa0]
movzx edi, byte [eax + 0x14]
add edi, eax
cmp byte [edi + 0x14], 0x20
jne 0x4105c7
mov edi, eax
dec byte [edi + 0x14]
jmp 0x4105ae
mov esi, eax
mov edi, esi
mov al, byte [esi + 0x14]
mov byte [edi + 0x1d], al
mov esi, dword [ebp - 0x19c]
sub eax, eax
cmp dword [esi + 0x18], eax
jne 0x4105e3
cmp dword [esi + 0x1c], eax
je 0x41060d
mov eax, dword [esi + 0x18]
mov dword [edi + 0x1e], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x22], eax
mov al, 8
mov byte [edi + 0x1d], al
mov eax, dword [ebp - 0xa0]
movzx edi, byte [eax + 0x1d]
add edi, eax
cmp byte [edi + 0x1d], 0x20
jne 0x41060d
mov edi, eax
dec byte [edi + 0x1d]
jmp 0x4105f4
push 5
push 0x423e3c
call fcn.004240f0
add esp, 8
mov eax, dword [0x423e3c]
mov dword [0x418fd8], eax
mov al, byte [0x423e40]
mov byte [0x418fdc], al
mov ax, word [0x418fd8]
mov dl, ah
and eax, 0xf
and edx, 0xf
lea eax, [eax + eax*4]
lea edx, [edx + eax*2]
mov byte [0x418fe0], dl
mov esi, 0x418fdd
mov ecx, 3
call fcn.00424270
mov edi, 0x418fe3
mov ecx, 3
call fcn.00424280
mov edi, dword [ebp - 0xa0]
mov ax, word [0x418fe0]
mov word [edi + 0x29], ax
mov al, byte [0x418fe2]
mov byte [edi + 0x2b], al
mov eax, 0x73736163
mov dword [edi + 0x2c], eax
mov eax, 0x74726174
mov dword [edi + 0x30], eax
mov esi, dword [ebp - 0x19c]
mov al, byte [esi + 0x25]
mov byte [edi + 0xac], al
mov edi, esi
cmp byte [edi + 0x25], 0
je 0x41075c
call fcn.004012be
mov eax, dword [0x423d48]
mov dword [0x418828], eax
call fcn.0040131b
mov esi, dword [ebp - 0x138]
mov edi, dword [ebp - 0xa0]
add edi, 0xad
mov ebx, dword [0x423d84]
bswap ebx
mov ecx, dword [0x418828]
bswap ecx
call fcn.00424250
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x2ac]
mov dword [ebp - 0x198], ebx
mov esi, dword [0x418a54]
lea esi, [esi*4 - 4]
cmp esi, 0x108
jbe 0x41071c
mov eax, 0x4156c8
mov ecx, 0xc63
call fcn.00414a46
add esi, ebx
mov edi, dword [ebp - 0xa0]
mov eax, dword [esi + 8]
mov dword [edi + 0xa8], eax
mov esi, dword [ebp - 0x194]
mov edi, dword [0x418a54]
lea edi, [edi*4 - 4]
cmp edi, 0x108
jbe 0x410757
mov eax, 0x4156c8
mov ecx, 0xc66
call fcn.00414a46
add edi, ebx
mov dword [edi + 8], esi
push 0xffffffffffffffa3
call 0x410778
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
cmp dword [esp + 4], 0xffffffa2
jne 0x410778
ret 4
mov esi, dword [ebp - 0x194]
mov edi, dword [ebp - 0x19c]
mov dword [edi + 0x20], esi
add dword [edi + 0x20], 8
mov eax, dword [esi + 0x1d]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x21]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x26]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x2a]
mov dword [edi + 0x1c], eax
mov al, byte [esi + 0xb4]
mov byte [edi + 0x25], al
mov edi, esi
cmp byte [edi + 0xb4], 0
jne 0x4107c4
mov edi, dword [ebp - 0x19c]
sub ecx, ecx
mov dword [edi + 0x10], ecx
jmp 0x4107d3
lea esi, [edi + 0xb5]
mov edi, dword [ebp - 0x19c]
mov dword [edi + 0x10], esi
cmp dword [esp + 4], 0xffffffa3
jne 0x4107dd
ret 4
mov edx, dword [0x418f8c]
xor dword [0x418f88], edx
mov edx, dword [0x418f88]
bswap edx
push edx
mov ecx, 0x43
mov eax, edx
sub edx, edx
div ecx
mov edx, eax
mov dword [0x418a6c], edx
mov ebx, ecx
imul ebx, edx
pop edx
sub edx, ebx
inc edx
bswap edx
mov dword [0x418f8c], edx
mov eax, edx
bswap eax
lea esi, [ecx + eax*4 - 0x47]
cmp esi, 0x108
jbe 0x410834
mov eax, 0x4156c8
mov cx, 0xc89
call fcn.00414a46
mov ecx, dword [ebp - 0x198]
lea esi, [esi + ecx + 8]
mov dword [0x418f90], esi
cmp dword [esp + 4], 0xffffffa4
jne 0x41084e
ret 4
mov edi, dword [ebp - 0x19c]
mov al, 1
mov byte [edi + 0x26], al
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x29c]
mov dword [ebp - 0x198], ebx
mov esi, edi
mov eax, dword [esi + 8]
mov dword [0x418f88], eax
mov eax, dword [esi + 0xc]
mov dword [0x418f8c], eax
push 0xffffffffffffffa4
call 0x4107dd
sub dword [0x418f90], 4
mov ebx, dword [0x418f90]
mov dword [ebp - 0x194], ebx
mov edi, dword [ebp - 0x194]
cmp dword [edi + 4], 0
je 0x410909
mov esi, edi
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1c4], ebx
mov esi, edi
mov ebx, dword [esi + 4]
mov dword [ebp - 0x194], ebx
mov esi, ebx
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x1d]
cmp dword [edi + 8], eax
jne 0x410897
mov eax, dword [esi + 0x21]
cmp dword [edi + 0xc], eax
jne 0x410897
mov eax, dword [esi + 0x26]
cmp dword [edi + 0x18], eax
jne 0x4108e6
mov eax, dword [esi + 0x2a]
cmp dword [edi + 0x1c], eax
je 0x410904
mov eax, dword [esi + 0x26]
cmp dword [edi + 8], eax
jne 0x410897
mov eax, dword [esi + 0x2a]
cmp dword [edi + 0xc], eax
jne 0x410897
mov esi, edi
sub eax, eax
cmp dword [esi + 0x18], eax
jne 0x410897
cmp dword [esi + 0x1c], eax
jne 0x410897
mov al, 0
mov byte [edi + 0x26], al
cmp dword [esp + 4], 0xffffffa5
jne 0x410913
ret 4
mov edi, dword [ebp - 0x19c]
mov al, 1
mov byte [edi + 0x26], al
cmp dword [edi + 0x10], 0
je 0x41092a
cmp byte [edi + 0x25], 0
jne 0x410934
mov al, 3
mov byte [edi + 0x26], al
jmp 0x410b2e
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x2ac]
mov dword [ebp - 0x198], ebx
mov esi, edi
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x138], ebx
call fcn.004012be
mov esi, dword [ebp - 0x138]
mov edi, 0x418f88
mov ebx, 8
mov ecx, dword [edi + 0xadc0]
bswap ecx
call fcn.00424250
mov ax, 9
mov word [0x418a7e], ax
mov bx, word [0x418a7e]
mov edi, dword [ebp - 0x19c]
sub edx, edx
mov dl, byte [edi + 0x25]
cmp dx, bx
jl 0x410a4d
and edx, 0xffff
inc edx
movsx ebx, bx
sub edx, ebx
mov dword [0x418a6c], edx
cmp edx, 8
jle 0x4109b9
mov eax, 8
mov dword [0x418a6c], eax
call fcn.004012be
sub esp, 0x20
mov edi, esp
mov dword [ebp - 0x14], edi
mov esi, 0x415738
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x418a6c]
push eax
push 0x418f88
mov eax, dword [0x423d48]
mov dword [0x418828], eax
movsx edx, word [0x418a7e]
bswap edx
mov dword [0x423dbc], edx
mov edx, dword [0x418828]
bswap edx
inc edx
mov ebx, dword [0x423dbc]
bswap ebx
sub edx, ebx
bswap edx
mov dword [0x418828], edx
mov esi, dword [0x423dbc]
bswap esi
mov ecx, dword [ebp - 0x138]
lea esi, [esi + ecx - 1]
push esi
mov ecx, dword [0x418828]
bswap ecx
mov dword [esp + 0x14], ecx
mov al, 3
call fcn.00424080
test edx, 0x4008
add esp, 0x2c
add word [0x418a7e], 8
jmp 0x41097d
push 0xffffffffffffffa4
call 0x4107dd
sub dword [0x418f90], 0xb0
mov ebx, dword [0x418f90]
mov dword [ebp - 0x194], ebx
mov edi, dword [ebp - 0x194]
cmp dword [edi + 0xb0], 0
je 0x410b2e
mov esi, edi
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1c4], ebx
mov esi, edi
mov ebx, dword [esi + 0xb0]
mov dword [ebp - 0x194], ebx
mov esi, dword [ebp - 0x19c]
mov edi, ebx
mov al, byte [esi + 0x25]
cmp byte [edi + 0xb4], al
jne 0x410a6a
mov eax, dword [esi + 0x18]
cmp dword [edi + 0x26], eax
jne 0x410abe
mov eax, dword [esi + 0x1c]
cmp dword [edi + 0x2a], eax
je 0x410ae2
mov esi, edi
mov eax, dword [esi + 0x26]
cmp dword [edi + 0x1d], eax
jne 0x410a6a
mov eax, dword [esi + 0x2a]
cmp dword [edi + 0x21], eax
jne 0x410a6a
mov esi, dword [ebp - 0x19c]
sub eax, eax
cmp dword [esi + 0x18], eax
jne 0x410a6a
cmp dword [esi + 0x1c], eax
jne 0x410a6a
call fcn.004012be
mov eax, dword [0x423d48]
mov dword [0x418828], eax
call fcn.0040121e
mov esi, dword [ebp - 0x138]
mov edi, dword [ebp - 0x194]
add edi, 0xb5
mov ebx, dword [0x423d1c]
bswap ebx
mov ecx, dword [0x418828]
bswap ecx
call fcn.00424260
jne 0x410a6a
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
cmp dword [esp + 4], 0xffffffa6
jne 0x410b38
ret 4
mov edi, dword [ebp - 0x19c]
mov al, 4
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x194]
cmp dword [edi + 0xb0], 0
jne 0x410b5b
push 0xffffffffffffffa8
call 0x410b89
jmp 0x410b7f
mov esi, edi
mov ebx, dword [esi + 0xb0]
mov dword [ebp - 0x194], ebx
mov esi, ebx
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 0xb0]
mov dword [edi + 0x20], eax
mov al, 0
mov byte [edi + 0x26], al
cmp dword [esp + 4], 0xffffffa7
jne 0x410b89
ret 4
mov edx, dword [0x418f8c]
bswap edx
inc edx
bswap edx
mov dword [0x418f8c], edx
mov dword [0x418f8c], edx
mov ecx, dword [0x418f8c]
bswap ecx
cmp ecx, 0x43
ja 0x410c3f
mov edi, dword [0x418f8c]
bswap edi
lea edi, [edi*4 - 4]
cmp edi, 0x108
jbe 0x410bd7
mov eax, 0x4156c8
mov ecx, 0xcf2
call fcn.00414a46
mov ecx, dword [ebp - 0x198]
add edi, ecx
cmp dword [edi + 8], 0
je 0x410c29
mov ebx, dword [edi + 8]
mov dword [ebp - 0x194], ebx
mov esi, dword [0x418f8c]
bswap esi
lea esi, [esi*4 - 4]
cmp esi, 0x108
jbe 0x410c14
mov eax, 0x4156c8
mov ecx, 0xcf3
call fcn.00414a46
add esi, ecx
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 8]
mov dword [edi + 0x20], eax
mov al, 0
mov byte [edi + 0x26], al
jmp 0x410c3f
mov edx, dword [0x418f8c]
bswap edx
inc edx
bswap edx
mov dword [0x418f8c], edx
jmp 0x410ba0
cmp dword [esp + 4], 0xffffffa8
jne 0x410c49
ret 4
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
je 0x410c5a
mov al, 1
mov byte [edi + 0x26], al
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
mov edi, dword [ebp - 0x1c4]
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edi, esi
cmp byte [edi + 0xb4], 0
je 0x410cd3
push 0xffffffffffffffa3
call 0x410778
push 0xffffffffffffffa6
call 0x410913
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x410ccc
mov esi, dword [ebp - 0x1c4]
add esi, 8
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xa0], ebx
mov esi, dword [ebp - 0x194]
mov edi, ebx
mov eax, dword [esi + 0xb0]
mov dword [edi + 0xa8], eax
jmp 0x410cd3
mov al, 0x22
mov byte [edi + 0x26], al
jmp 0x410ce3
call fcn.00409d97
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
cmp dword [esp + 4], 0xffffffa9
jne 0x410ced
ret 4
mov esi, dword [ebp - 0x198]
add esi, 8
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x194], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 4
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x194], ebx
mov eax, 0x1000000
mov dword [0x418f8c], eax
push 0xffffffffffffffab
call 0x410d3a
cmp dword [esp + 4], 0xffffffaa
jne 0x410d3a
ret 4
mov edi, dword [ebp - 0x19c]
mov al, 4
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x194]
cmp dword [edi + 4], 0
jne 0x410d5a
push 0xffffffffffffffa8
call 0x410b89
jmp 0x410d78
mov esi, edi
mov ebx, dword [esi + 4]
mov dword [ebp - 0x194], ebx
mov esi, ebx
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 4]
mov dword [edi + 0x20], eax
mov al, 0
mov byte [edi + 0x26], al
cmp dword [esp + 4], 0xffffffab
jne 0x410d82
ret 4
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x2a0]
mov dword [ebp - 0x198], ebx
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x24], 0x33
jne 0x410e0f
push 0xffffffffffffffaa
call 0x410ced
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x410dce
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x9c], ebx
push 0xffffffffffffffac
call 0x4113e5
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x4113e5
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x7936
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [0x418a98], eax
mov eax, dword [esi + 0x24]
mov dword [0x418a9c], eax
call fcn.0040b4e5
jmp 0x4113e5
cmp byte [edi + 0x25], 0
jne 0x410e47
mov al, 0x24
mov byte [edi + 0x26], al
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x7935
mov word [0x418a8a], ax
mov esi, edi
mov eax, dword [esi + 0x20]
mov dword [0x418a98], eax
mov eax, dword [esi + 0x24]
mov dword [0x418a9c], eax
call fcn.0040b4e5
jmp 0x4113e5
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x138], ebx
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x410fb7
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x333
mov word [0x418a8a], ax
mov ax, 1
mov word [0x418a7e], ax
mov bx, word [0x418a7e]
mov edi, dword [ebp - 0x19c]
sub edx, edx
mov dl, byte [edi + 0x25]
cmp dx, bx
jl 0x410fb7
sub eax, eax
mov dword [0x418a98], eax
mov dword [0x418a9c], eax
call fcn.004012be
mov eax, dword [0x423d48]
mov dword [0x418828], eax
movsx edx, word [0x418a7e]
bswap edx
mov dword [0x423dbc], edx
mov edx, dword [0x418828]
bswap edx
inc edx
mov ebx, dword [0x423dbc]
bswap ebx
sub edx, ebx
bswap edx
mov dword [0x418828], edx
mov dword [0x423da0], edx
mov esi, dword [0x423dbc]
bswap esi
dec esi
bswap esi
mov dword [0x423da4], esi
mov eax, esi
bswap eax
mov esi, eax
mov ecx, dword [ebp - 0x138]
add esi, ecx
mov dword [0x418824], esi
mov eax, 0x1000000
mov dword [0x423d9c], eax
mov eax, dword [0x423da0]
mov dword [0x418828], eax
mov dword [0x423da8], eax
mov eax, 0x9000000
mov dword [0x423dac], eax
mov ebx, dword [0x423d9c]
bswap ebx
mov edx, dword [0x423dac]
bswap edx
sub edx, ebx
bswap edx
mov dword [0x423dac], edx
mov edx, dword [0x423da8]
bswap edx
mov ecx, dword [0x423dac]
bswap ecx
cmp ecx, edx
jbe 0x410f63
mov eax, dword [0x423da8]
mov dword [0x423dac], eax
mov esi, dword [0x423da4]
bswap esi
mov ecx, dword [ebp - 0x138]
add esi, ecx
mov edi, dword [0x423d9c]
bswap edi
add edi, 0x418a97
mov ecx, dword [0x423dac]
bswap ecx
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [0x423dac]
bswap ebx
mov edx, dword [0x423d9c]
bswap edx
add edx, ebx
bswap edx
mov dword [0x423d9c], edx
call fcn.0040b4e5
add word [0x418a7e], 8
jmp 0x410e7d
call fcn.004012be
mov esi, dword [ebp - 0x138]
mov edi, 0x418f88
mov ebx, 4
mov ecx, dword [edi + 0xadc0]
bswap ecx
call fcn.00424250
mov ax, 5
mov word [0x418a7e], ax
mov bx, word [0x418a7e]
mov edi, dword [ebp - 0x19c]
sub edx, edx
mov dl, byte [edi + 0x25]
cmp dx, bx
jl 0x411075
call fcn.004012be
mov eax, dword [0x423d48]
mov dword [0x418828], eax
movsx edx, word [0x418a7e]
bswap edx
mov dword [0x423dbc], edx
mov edx, dword [0x418828]
bswap edx
inc edx
mov ebx, dword [0x423dbc]
bswap ebx
sub edx, ebx
bswap edx
mov dword [0x418828], edx
mov esi, dword [0x423dbc]
bswap esi
mov ecx, dword [ebp - 0x138]
lea esi, [esi + ecx - 1]
mov edi, 0x418a98
mov ebx, 4
mov ecx, dword [edi - 0x270]
bswap ecx
call fcn.00424250
mov edx, dword [0x418a98]
xor dword [0x418f88], edx
add word [0x418a7e], 4
jmp 0x410fe3
mov esi, edi
sub ebx, ebx
mov bl, byte [esi + 0x25]
mov edx, dword [0x418f88]
bswap edx
add edx, ebx
bswap edx
mov dword [0x418f88], edx
mov word [0x418a7e], bx
mov al, 0
mov byte [edi + 0x25], al
call fcn.0040acf5
mov dl, byte [0x418a7e]
mov edi, dword [ebp - 0x19c]
mov byte [edi + 0x25], dl
mov ebx, dword [0x418f90]
mov dword [ebp - 0x9c], ebx
mov al, 1
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x9c]
cmp dword [edi + 4], 0
je 0x411150
mov esi, edi
mov ebx, dword [esi + 4]
mov dword [ebp - 0x9c], ebx
call fcn.004012be
mov eax, dword [0x423d48]
mov dword [0x418828], eax
call fcn.00401330
mov esi, dword [ebp - 0x138]
mov edi, dword [ebp - 0x9c]
add edi, 0xc
mov ebx, dword [0x423d88]
bswap ebx
mov ecx, dword [0x418828]
bswap ecx
call fcn.00424260
jne 0x4110bf
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
mov esi, dword [ebp - 0x9c]
mov dword [edi + 0x20], esi
movzx edx, word [esi + 9]
xchg dl, dh
shl edx, 8
mov dl, byte [esi + 0xb]
mov dword [edi + 0x14], edx
add esi, 0xc
mov dword [edi + 8], esi
mov dword [edi + 0x28], esi
add esi, 0xfffffff4
sub ebx, ebx
mov bl, byte [esi + 8]
mov edx, dword [edi + 0x28]
add edx, ebx
mov dword [edi + 0x28], edx
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x24], 3
je 0x4113ad
cmp byte [edi + 0x24], 4
jne 0x4111bb
cmp byte [edi + 0x26], 0
jne 0x4113ad
mov esi, dword [ebp - 0x9c]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x194], ebx
push 0xffffffffffffffab
call 0x410d3a
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x4113ad
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x9c], ebx
push 0xffffffffffffffac
call 0x4113e5
jmp 0x4113ad
cmp byte [edi + 0x24], 1
jne 0x411399
call fcn.004012be
mov esi, dword [ebp - 0x138]
mov edi, esi
mov ecx, dword [0x423d48]
bswap ecx
mov al, 0
or ecx, ecx
repe scasb al, byte es:[edi]
je 0x4111ff
call fcn.004012be
mov esi, dword [ebp - 0x138]
mov edi, esi
mov ecx, dword [0x423d48]
bswap ecx
mov al, 0x20
or ecx, ecx
repe scasb al, byte es:[edi]
jne 0x41120f
mov edi, dword [ebp - 0x19c]
mov al, 3
mov byte [edi + 0x26], al
jmp 0x4113ad
mov edi, dword [ebp - 0x19c]
cmp dword [edi + 0x14], 0xfffef3
jbe 0x411228
mov al, 0x23
mov byte [edi + 0x26], al
jmp 0x4113ad
cmp byte [edi + 0x26], 0
jne 0x411238
mov al, 6
mov byte [edi + 0x26], al
jmp 0x4113ad
mov esi, edi
sub edx, edx
mov dl, byte [esi + 0x25]
add edx, 0xc
mov esi, edi
mov ebx, dword [esi + 0x14]
add edx, ebx
mov dword [0x41ba88], edx
mov al, 0x95
mov byte [0x41ba90], al
call fcn.0040a198
cmp byte [0x41ba91], 0
jne 0x41138c
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
mov esi, dword [ebp - 0x9c]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x194], ebx
mov ebx, dword [0x41ba8c]
mov dword [ebp - 0x9c], ebx
mov eax, dword [0x41ba8c]
mov dword [edi + 0x20], eax
mov esi, dword [ebp - 0x194]
mov edi, ebx
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov esi, edi
mov edi, dword [ebp - 0x194]
mov dword [edi + 4], esi
mov esi, dword [ebp - 0x19c]
mov edi, ebx
mov al, byte [esi + 0x25]
mov byte [edi + 8], al
mov edx, dword [esi + 0x14]
mov byte [edi + 0xb], dl
bswap edx
shr edx, 8
mov word [edi + 9], dx
call fcn.004012be
mov eax, dword [0x423d48]
mov dword [0x418828], eax
call fcn.00401330
mov esi, dword [ebp - 0x138]
mov edi, dword [ebp - 0x9c]
add edi, 0xc
mov ebx, dword [0x423d88]
bswap ebx
mov ecx, dword [0x418828]
bswap ecx
call fcn.00424250
mov esi, dword [ebp - 0x9c]
add esi, 0xc
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x98], ebx
mov edi, dword [ebp - 0x19c]
mov dword [edi + 8], esi
mov dword [edi + 0x28], esi
mov esi, ebx
mov dword [0x423dbc], esi
call fcn.00401342
mov eax, dword [0x423d8c]
mov dword [0x418830], eax
mov esi, dword [ebp - 0x19c]
sub ebx, ebx
mov bl, byte [esi + 0x25]
mov edx, dword [0x423dbc]
add edx, ebx
mov dword [0x423dbc], edx
mov ebx, edx
mov dword [ebp - 0x98], ebx
sub ebx, ebx
mov bl, byte [esi + 0x25]
mov edi, esi
mov edx, dword [edi + 0x28]
add edx, ebx
mov dword [edi + 0x28], edx
call fcn.00401342
mov edi, dword [ebp - 0x98]
mov ecx, dword [0x423d8c]
bswap ecx
mov al, 0
rep stosb byte es:[edi], al
jmp 0x4113ad
mov edi, dword [ebp - 0x19c]
mov al, 7
mov byte [edi + 0x26], al
jmp 0x4113ad
cmp byte [edi + 0x24], 2
jne 0x4113a8
push 0xffffffffffffffa9
call 0x410c49
jmp 0x4113ad
mov al, 3
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x4113e5
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x434
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [0x418a98], eax
mov eax, dword [esi + 0x24]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov esi, dword [ebp - 0x9c]
movzx edx, word [esi + 9]
xchg dl, dh
shl edx, 8
mov dl, byte [esi + 0xb]
mov edi, dword [ebp - 0x19c]
mov dword [edi + 0x14], edx
add esi, 0xc
mov dword [edi + 8], esi
mov dword [edi + 0x28], esi
add esi, 0xfffffff4
sub ebx, ebx
mov bl, byte [esi + 8]
mov edx, dword [edi + 0x28]
add edx, ebx
mov dword [edi + 0x28], edx
mov al, byte [esi + 8]
mov byte [edi + 0x25], al
mov al, 0
mov byte [edi + 0x26], al
cmp dword [esp + 4], 0xffffffac
jne 0x41142e
ret 4
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x24], 3
je 0x411440
cmp byte [edi + 0x24], 2
jne 0x41144d
mov esi, edi
mov ebx, dword [esi + 8]
mov dword [ebp - 0xec], ebx
jmp 0x411482
cmp dword [edi + 0x20], 0
jne 0x41145b
sub eax, eax
mov word [edi + 0xc], ax
jmp 0x411482
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x110], ebx
lea esi, [ebx + 0x24]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xec], ebx
add esi, 0xffffffdc
mov ax, word [esi + 0x22]
mov word [edi + 0xc], ax
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x4115c3
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x311
mov word [0x418a8a], ax
mov ax, 1
mov word [0x418a7e], ax
movsx ebx, word [0x418a7e]
mov edi, dword [ebp - 0x19c]
movzx edx, word [edi + 0xc]
cmp edx, ebx
jl 0x4115c3
sub eax, eax
mov dword [0x418a98], eax
mov dword [0x418a9c], eax
mov esi, edi
movzx edx, word [esi + 0xc]
movsx ebx, word [0x418a7e]
sub edx, ebx
inc edx
bswap edx
mov dword [0x418828], edx
mov dword [0x423da0], edx
movsx esi, word [0x418a7e]
dec esi
bswap esi
mov dword [0x423da4], esi
mov eax, esi
bswap eax
mov esi, eax
mov ecx, dword [ebp - 0xec]
add esi, ecx
mov dword [0x418824], esi
mov eax, 0x1000000
mov dword [0x423d9c], eax
mov eax, dword [0x423da0]
mov dword [0x418828], eax
mov dword [0x423da8], eax
mov eax, 0x9000000
mov dword [0x423dac], eax
mov ebx, dword [0x423d9c]
bswap ebx
mov edx, dword [0x423dac]
bswap edx
sub edx, ebx
bswap edx
mov dword [0x423dac], edx
mov edx, dword [0x423da8]
bswap edx
mov ecx, dword [0x423dac]
bswap ecx
cmp ecx, edx
jbe 0x41156f
mov eax, dword [0x423da8]
mov dword [0x423dac], eax
mov esi, dword [0x423da4]
bswap esi
mov ecx, dword [ebp - 0xec]
add esi, ecx
mov edi, dword [0x423d9c]
bswap edi
add edi, 0x418a97
mov ecx, dword [0x423dac]
bswap ecx
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [0x423dac]
bswap ebx
mov edx, dword [0x423d9c]
bswap edx
add edx, ebx
bswap edx
mov dword [0x423d9c], edx
call fcn.0040b4e5
add word [0x418a7e], 8
jmp 0x4114ad
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x210]
mov dword [ebp - 0x198], ebx
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
cmp byte [edi + 0x24], 3
jne 0x411616
push 0xffffffffffffff9e
call 0x40fbd6
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x41195c
mov esi, dword [ebp - 0x194]
mov dword [edi + 0x20], esi
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x110], ebx
jmp 0x41195c
cmp byte [edi + 0x24], 4
jne 0x41167f
cmp dword [edi + 0x20], 0
jne 0x41164d
mov edi, ebx
cmp dword [edi + 4], 0
jne 0x41163a
mov edi, dword [ebp - 0x19c]
mov al, 4
mov byte [edi + 0x26], al
jmp 0x41195c
mov esi, edi
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 4]
mov dword [edi + 0x20], eax
jmp 0x41195c
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x110], ebx
mov edi, ebx
cmp dword [edi + 8], 0
jne 0x41166c
mov edi, esi
mov al, 4
mov byte [edi + 0x26], al
jmp 0x41195c
mov esi, edi
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 8]
mov dword [edi + 0x20], eax
jmp 0x41195c
cmp byte [edi + 0x24], 1
jne 0x41173f
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x110], ebx
lea esi, [ebx + 0x24]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xec], ebx
add esi, 0xffffffdc
mov ax, word [esi + 0x22]
mov word [edi + 0xc], ax
push 0xffffffffffffff9e
call 0x40fbd6
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x4116cd
mov al, 6
mov byte [edi + 0x26], al
jmp 0x41195c
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x110], ebx
call fcn.004012d0
mov edx, dword [0x423d5c]
mov dword [0x418828], edx
bswap edx
add edx, 0x24
mov eax, edx
bswap eax
mov dword [0x418828], eax
mov dword [0x41ba88], edx
mov al, 0xec
mov byte [0x41ba90], al
push 0xffffffffffffff95
call fcn.0040f3c4
cmp byte [0x41ba91], 0
jne 0x41172f
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x110], ebx
push 0xffffffffffffffa1
call 0x40feef
jmp 0x41195c
mov edi, dword [ebp - 0x19c]
mov al, 7
mov byte [edi + 0x26], al
jmp 0x41195c
cmp byte [edi + 0x24], 2
jne 0x411857
push 0xffffffffffffff9e
call 0x40fbd6
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x41195c
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x110], ebx
mov edi, ebx
cmp word [edi + 0x20], 0
jne 0x411847
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x210]
mov dword [ebp - 0x10c], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 4
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x10c], ebx
mov edi, dword [ebp - 0x10c]
cmp dword [edi + 8], 0
je 0x4117e4
mov esi, edi
mov ebx, dword [esi + 8]
mov edi, dword [ebp - 0x110]
cmp edi, ebx
jne 0x4117d9
mov esi, edi
mov edi, dword [ebp - 0x10c]
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
jmp 0x4117e4
mov ebx, dword [esi + 8]
mov dword [ebp - 0x10c], ebx
jmp 0x4117ae
mov edi, dword [ebp - 0x110]
cmp dword [edi + 0xc], 0
je 0x411800
mov esi, edi
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x108], ebx
mov edi, ebx
dec dword [edi + 0x10]
mov edi, dword [ebp - 0x110]
cmp dword [edi + 0x10], 0
je 0x41181d
mov esi, edi
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x104], ebx
mov edi, ebx
dec word [edi + 0x26]
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
mov edi, dword [ebp - 0x1c4]
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
call fcn.00409d97
jmp 0x41195c
mov edi, dword [ebp - 0x19c]
mov al, 2
mov byte [edi + 0x26], al
jmp 0x41195c
cmp byte [edi + 0x24], 0x21
jne 0x41190a
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x110], ebx
mov edi, ebx
cmp byte [edi + 0x18], al
jne 0x411901
cmp dword [edi + 0x10], 0
je 0x41189a
mov esi, edi
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x104], ebx
mov edi, ebx
cmp byte [edi + 0x25], al
je 0x41189a
mov edi, dword [ebp - 0x19c]
mov al, 0x19
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x4118d6
mov edi, dword [ebp - 0x110]
cmp dword [edi + 0xc], 0
je 0x4118d6
mov esi, edi
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x108], ebx
mov edi, ebx
cmp byte [edi + 0x18], 0
jne 0x4118cb
inc word [edi + 0x1e]
jmp 0x4118d6
mov edi, dword [ebp - 0x19c]
mov al, 0x19
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x41195c
mov edi, dword [ebp - 0x110]
inc dword [edi + 0x14]
inc word [edi + 0x20]
cmp dword [edi + 0x10], 0
je 0x41195c
mov edi, dword [ebp - 0x104]
inc word [edi + 0x22]
jmp 0x41195c
mov edi, esi
mov al, 0x19
mov byte [edi + 0x26], al
jmp 0x41195c
cmp byte [edi + 0x24], 0x22
jne 0x411957
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x110], ebx
mov edi, ebx
dec word [edi + 0x20]
cmp dword [edi + 0x10], 0
je 0x411938
mov esi, edi
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x104], ebx
mov edi, ebx
dec word [edi + 0x22]
mov edi, dword [ebp - 0x110]
cmp dword [edi + 0xc], 0
je 0x41195c
mov esi, edi
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x108], ebx
mov edi, ebx
dec word [edi + 0x1e]
jmp 0x41195c
mov al, 3
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x411994
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x412
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [0x418a98], eax
mov eax, dword [esi + 0x24]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x24], 3
je 0x4119a6
cmp byte [edi + 0x24], 2
jne 0x4119b3
mov esi, edi
mov ebx, dword [esi + 8]
mov dword [ebp - 0xec], ebx
jmp 0x4119e8
cmp dword [edi + 0x20], 0
jne 0x4119c1
sub eax, eax
mov word [edi + 0xc], ax
jmp 0x4119e8
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x108], ebx
lea esi, [ebx + 0x22]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xec], ebx
add esi, 0xffffffde
mov ax, word [esi + 0x20]
mov word [edi + 0xc], ax
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x411b29
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x313
mov word [0x418a8a], ax
mov ax, 1
mov word [0x418a7e], ax
movsx ebx, word [0x418a7e]
mov edi, dword [ebp - 0x19c]
movzx edx, word [edi + 0xc]
cmp edx, ebx
jl 0x411b29
sub eax, eax
mov dword [0x418a98], eax
mov dword [0x418a9c], eax
mov esi, edi
movzx edx, word [esi + 0xc]
movsx ebx, word [0x418a7e]
sub edx, ebx
inc edx
bswap edx
mov dword [0x418828], edx
mov dword [0x423da0], edx
movsx esi, word [0x418a7e]
dec esi
bswap esi
mov dword [0x423da4], esi
mov eax, esi
bswap eax
mov esi, eax
mov ecx, dword [ebp - 0xec]
add esi, ecx
mov dword [0x418824], esi
mov eax, 0x1000000
mov dword [0x423d9c], eax
mov eax, dword [0x423da0]
mov dword [0x418828], eax
mov dword [0x423da8], eax
mov eax, 0x9000000
mov dword [0x423dac], eax
mov ebx, dword [0x423d9c]
bswap ebx
mov edx, dword [0x423dac]
bswap edx
sub edx, ebx
bswap edx
mov dword [0x423dac], edx
mov edx, dword [0x423da8]
bswap edx
mov ecx, dword [0x423dac]
bswap ecx
cmp ecx, edx
jbe 0x411ad5
mov eax, dword [0x423da8]
mov dword [0x423dac], eax
mov esi, dword [0x423da4]
bswap esi
mov ecx, dword [ebp - 0xec]
add esi, ecx
mov edi, dword [0x423d9c]
bswap edi
add edi, 0x418a97
mov ecx, dword [0x423dac]
bswap ecx
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [0x423dac]
bswap ebx
mov edx, dword [0x423d9c]
bswap edx
add edx, ebx
bswap edx
mov dword [0x423d9c], edx
call fcn.0040b4e5
add word [0x418a7e], 8
jmp 0x411a13
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x214]
mov dword [ebp - 0x198], ebx
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
cmp byte [edi + 0x24], 3
jne 0x411b72
push 0xffffffffffffff9e
call 0x40fbd6
mov esi, dword [ebp - 0x194]
mov edi, dword [ebp - 0x19c]
mov dword [edi + 0x20], esi
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x108], ebx
jmp 0x411d31
cmp byte [edi + 0x24], 4
jne 0x411bdb
cmp dword [edi + 0x20], 0
jne 0x411ba9
mov edi, ebx
cmp dword [edi + 4], 0
jne 0x411b96
mov edi, dword [ebp - 0x19c]
mov al, 4
mov byte [edi + 0x26], al
jmp 0x411d31
mov esi, edi
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 4]
mov dword [edi + 0x20], eax
jmp 0x411d31
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x108], ebx
mov edi, ebx
cmp dword [edi + 8], 0
jne 0x411bc8
mov edi, esi
mov al, 4
mov byte [edi + 0x26], al
jmp 0x411d31
mov esi, edi
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 8]
mov dword [edi + 0x20], eax
jmp 0x411d31
cmp byte [edi + 0x24], 1
jne 0x411c31
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x108], ebx
lea esi, [ebx + 0x22]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xec], ebx
add esi, 0xffffffde
mov ax, word [esi + 0x20]
mov word [edi + 0xc], ax
push 0xffffffffffffff9e
call 0x40fbd6
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x411c25
mov al, 6
mov byte [edi + 0x26], al
jmp 0x411d31
push 0xffffffffffffffad
call 0x411d69
jmp 0x411d31
cmp byte [edi + 0x24], 2
jne 0x411d2c
push 0xffffffffffffff9e
call 0x40fbd6
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x411d31
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x108], ebx
mov edi, ebx
cmp dword [edi + 0x10], 0
jne 0x411d1f
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x214]
mov dword [ebp - 0x10c], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 4
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x10c], ebx
mov edi, dword [ebp - 0x10c]
cmp dword [edi + 8], 0
je 0x411cd5
mov esi, edi
mov ebx, dword [esi + 8]
mov edi, dword [ebp - 0x108]
cmp edi, ebx
jne 0x411cca
mov esi, edi
mov edi, dword [ebp - 0x10c]
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
jmp 0x411cd5
mov ebx, dword [esi + 8]
mov dword [ebp - 0x10c], ebx
jmp 0x411c9f
mov esi, dword [ebp - 0x194]
mov edi, dword [ebp - 0x1c4]
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x108]
cmp dword [edi + 0xc], 0
je 0x411d04
mov esi, edi
mov eax, dword [esi + 0xc]
mov dword [0x41ba8c], eax
push 0xffffffffffffffa0
call 0x40fecd
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
jmp 0x411d31
mov edi, dword [ebp - 0x19c]
mov al, 2
mov byte [edi + 0x26], al
jmp 0x411d31
mov al, 3
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x411d69
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x414
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [0x418a98], eax
mov eax, dword [esi + 0x24]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x108], ebx
call fcn.004012e3
mov edx, dword [0x423d60]
mov dword [0x418828], edx
bswap edx
add edx, 0x22
mov eax, edx
bswap eax
mov dword [0x418828], eax
mov dword [0x41ba88], edx
mov al, 0xeb
mov byte [0x41ba90], al
push 0xffffffffffffff95
call fcn.0040f3c4
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x411f38
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x108], ebx
mov edi, dword [ebp - 0x1d8]
mov ax, word [edi + 0x1ca]
add ah, 1
adc al, 0
mov word [edi + 0x1ca], ax
mov esi, edi
movzx edx, word [esi + 0x1ca]
xchg dl, dh
mov edi, ebx
mov dword [edi + 0x14], edx
cmp word [edi + 0x1c], 0
jbe 0x411e24
mov esi, edi
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0xec], ebx
mov esi, edi
movzx edx, word [esi + 0x1c]
mov dword [0x41ba88], edx
push 0xffffffffffffff9f
call 0x40fe5b
mov edi, dword [ebp - 0x108]
mov eax, dword [0x41ba8c]
mov dword [edi + 0xc], eax
jmp 0x411e29
sub ecx, ecx
mov dword [edi + 0xc], ecx
cmp byte [edi + 0x18], 2
je 0x411e34
mov al, 0
mov byte [edi + 0x18], al
mov esi, edi
mov edi, dword [ebp - 0x19c]
mov dword [edi + 0x20], esi
add esi, 0x20
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x100], ebx
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x214]
mov dword [ebp - 0x10c], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 4
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x10c], ebx
mov edi, dword [ebp - 0x10c]
cmp dword [edi + 8], 0
jne 0x411e9a
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [edi + 8], eax
jmp 0x411f27
mov esi, edi
mov ebx, dword [esi + 8]
mov dword [ebp - 0x108], ebx
call fcn.004012e3
mov eax, dword [0x423d60]
mov dword [0x418828], eax
call fcn.00401309
mov esi, dword [ebp - 0x108]
add esi, 0x22
mov edi, dword [ebp - 0x100]
add edi, 2
mov ebx, dword [0x423d68]
bswap ebx
mov ecx, dword [0x418828]
bswap ecx
call fcn.00424260
jae 0x411f13
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x108], ebx
mov esi, dword [ebp - 0x10c]
mov edi, ebx
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov esi, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x10c]
mov eax, dword [esi + 0x20]
mov dword [edi + 8], eax
jmp 0x411f27
mov esi, dword [ebp - 0x10c]
mov ebx, dword [esi + 8]
mov dword [ebp - 0x10c], ebx
jmp 0x411e7d
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x108], ebx
jmp 0x411f3d
mov al, 7
mov byte [edi + 0x26], al
cmp dword [esp + 4], 0xffffffad
jne 0x411f47
ret 4
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x24], 3
je 0x411f59
cmp byte [edi + 0x24], 2
jne 0x411f66
mov esi, edi
mov ebx, dword [esi + 8]
mov dword [ebp - 0xec], ebx
jmp 0x411f9b
cmp dword [edi + 0x20], 0
jne 0x411f74
sub eax, eax
mov word [edi + 0xc], ax
jmp 0x411f9b
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
lea esi, [ebx + 0x2a]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xec], ebx
add esi, 0xffffffd6
mov ax, word [esi + 0x28]
mov word [edi + 0xc], ax
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x4120dc
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x315
mov word [0x418a8a], ax
mov ax, 1
mov word [0x418a7e], ax
movsx ebx, word [0x418a7e]
mov edi, dword [ebp - 0x19c]
movzx edx, word [edi + 0xc]
cmp edx, ebx
jl 0x4120dc
sub eax, eax
mov dword [0x418a98], eax
mov dword [0x418a9c], eax
mov esi, edi
movzx edx, word [esi + 0xc]
movsx ebx, word [0x418a7e]
sub edx, ebx
inc edx
bswap edx
mov dword [0x418828], edx
mov dword [0x423da0], edx
movsx esi, word [0x418a7e]
dec esi
bswap esi
mov dword [0x423da4], esi
mov eax, esi
bswap eax
mov esi, eax
mov ecx, dword [ebp - 0xec]
add esi, ecx
mov dword [0x418824], esi
mov eax, 0x1000000
mov dword [0x423d9c], eax
mov eax, dword [0x423da0]
mov dword [0x418828], eax
mov dword [0x423da8], eax
mov eax, 0x9000000
mov dword [0x423dac], eax
mov ebx, dword [0x423d9c]
bswap ebx
mov edx, dword [0x423dac]
bswap edx
sub edx, ebx
bswap edx
mov dword [0x423dac], edx
mov edx, dword [0x423da8]
bswap edx
mov ecx, dword [0x423dac]
bswap ecx
cmp ecx, edx
jbe 0x412088
mov eax, dword [0x423da8]
mov dword [0x423dac], eax
mov esi, dword [0x423da4]
bswap esi
mov ecx, dword [ebp - 0xec]
add esi, ecx
mov edi, dword [0x423d9c]
bswap edi
add edi, 0x418a97
mov ecx, dword [0x423dac]
bswap ecx
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [0x423dac]
bswap ebx
mov edx, dword [0x423d9c]
bswap edx
add edx, ebx
bswap edx
mov dword [0x423d9c], edx
call fcn.0040b4e5
add word [0x418a7e], 8
jmp 0x411fc6
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x218]
mov dword [ebp - 0x198], ebx
mov edi, dword [ebp - 0x19c]
mov al, 0
mov byte [edi + 0x26], al
cmp byte [edi + 0x24], 3
jne 0x412125
push 0xffffffffffffff9e
call 0x40fbd6
mov esi, dword [ebp - 0x194]
mov edi, dword [ebp - 0x19c]
mov dword [edi + 0x20], esi
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
jmp 0x412654
cmp byte [edi + 0x24], 4
jne 0x41218e
cmp dword [edi + 0x20], 0
jne 0x41215c
mov edi, ebx
cmp dword [edi + 4], 0
jne 0x412149
mov edi, dword [ebp - 0x19c]
mov al, 4
mov byte [edi + 0x26], al
jmp 0x412654
mov esi, edi
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 4]
mov dword [edi + 0x20], eax
jmp 0x412654
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
mov edi, ebx
cmp dword [edi + 8], 0
jne 0x41217b
mov edi, esi
mov al, 4
mov byte [edi + 0x26], al
jmp 0x412654
mov esi, edi
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 8]
mov dword [edi + 0x20], eax
jmp 0x412654
cmp byte [edi + 0x24], 1
jne 0x4121e4
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
lea esi, [ebx + 0x2a]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xec], ebx
add esi, 0xffffffd6
mov ax, word [esi + 0x28]
mov word [edi + 0xc], ax
push 0xffffffffffffff9e
call 0x40fbd6
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x4121d8
mov al, 6
mov byte [edi + 0x26], al
jmp 0x412654
push 0xffffffffffffffae
call 0x41268c
jmp 0x412654
cmp byte [edi + 0x24], 2
jne 0x412356
push 0xffffffffffffff9e
call 0x40fbd6
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x412654
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x104], ebx
mov edi, ebx
cmp word [edi + 0x26], 0
jne 0x412346
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x218]
mov dword [ebp - 0x10c], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 4
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x10c], ebx
mov edi, dword [ebp - 0x10c]
cmp dword [edi + 8], 0
je 0x412289
mov esi, edi
mov ebx, dword [esi + 8]
mov edi, dword [ebp - 0x104]
cmp edi, ebx
jne 0x41227e
mov esi, edi
mov edi, dword [ebp - 0x10c]
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
jmp 0x412289
mov ebx, dword [esi + 8]
mov dword [ebp - 0x10c], ebx
jmp 0x412253
mov esi, dword [ebp - 0x194]
mov edi, dword [ebp - 0x1c4]
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x104]
cmp dword [edi + 0xc], 0
je 0x4122b8
mov esi, edi
mov eax, dword [esi + 0xc]
mov dword [0x41ba8c], eax
push 0xffffffffffffffa0
call 0x40fecd
mov edi, dword [ebp - 0x104]
cmp dword [edi + 0x10], 0
je 0x4122d5
mov esi, edi
mov eax, dword [esi + 0x10]
mov dword [0x41ba8c], eax
push 0xffffffffffffffa0
call 0x40fecd
mov edi, dword [ebp - 0x104]
cmp dword [edi + 0x14], 0
je 0x4122f2
mov esi, edi
mov eax, dword [esi + 0x14]
mov dword [0x41ba8c], eax
push 0xffffffffffffffa0
call 0x40fecd
mov edi, dword [ebp - 0x104]
cmp dword [edi + 0x18], 0
je 0x412328
mov esi, edi
mov ebx, dword [esi + 0x18]
mov dword [ebp - 0x1b4], ebx
mov esi, dword [ebp - 0x1d8]
add esi, 0xe8
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1c4], ebx
call fcn.00409cf6
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
jmp 0x412654
mov edi, dword [ebp - 0x19c]
mov al, 2
mov byte [edi + 0x26], al
jmp 0x412654
cmp byte [edi + 0x24], 0x18
jne 0x41259f
push 0xffffffffffffff9e
call 0x40fbd6
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x412654
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x104], ebx
cmp byte [edi + 0x25], 8
jne 0x412439
mov edi, ebx
cmp dword [edi + 0xc], 0
je 0x4123bd
mov esi, edi
mov eax, dword [esi + 0xc]
mov dword [0x41ba8c], eax
push 0xffffffffffffffa0
call 0x40fecd
mov edi, dword [ebp - 0x104]
sub ecx, ecx
mov dword [edi + 0xc], ecx
mov word [edi + 0x1c], cx
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
mov edi, ebx
cmp dword [edi + 0xc], 0
je 0x412654
mov esi, edi
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0xec], ebx
mov esi, edi
movzx edx, word [esi + 0x1c]
mov dword [0x41ba88], edx
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x104], ebx
mov edi, ebx
mov ax, word [0x41ba88]
mov word [edi + 0x1c], ax
push 0xffffffffffffff9f
call 0x40fe5b
mov edi, dword [ebp - 0x104]
mov eax, dword [0x41ba8c]
mov dword [edi + 0xc], eax
cmp dword [edi + 0xc], 0
jne 0x412654
sub eax, eax
mov word [edi + 0x1c], ax
jmp 0x412654
cmp byte [edi + 0x25], 9
jne 0x4124e7
mov edi, ebx
cmp dword [edi + 0x10], 0
je 0x41246b
mov esi, edi
mov eax, dword [esi + 0x10]
mov dword [0x41ba8c], eax
push 0xffffffffffffffa0
call 0x40fecd
mov edi, dword [ebp - 0x104]
sub ecx, ecx
mov dword [edi + 0x10], ecx
mov word [edi + 0x1e], cx
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
mov edi, ebx
cmp dword [edi + 0x10], 0
je 0x412654
mov esi, edi
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0xec], ebx
mov esi, edi
movzx edx, word [esi + 0x1e]
mov dword [0x41ba88], edx
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x104], ebx
mov edi, ebx
mov ax, word [0x41ba88]
mov word [edi + 0x1e], ax
push 0xffffffffffffff9f
call 0x40fe5b
mov edi, dword [ebp - 0x104]
mov eax, dword [0x41ba8c]
mov dword [edi + 0x10], eax
cmp dword [edi + 0x10], 0
jne 0x412654
sub eax, eax
mov word [edi + 0x1e], ax
jmp 0x412654
cmp byte [edi + 0x25], 0xa
jne 0x412595
mov edi, ebx
cmp dword [edi + 0x14], 0
je 0x412519
mov esi, edi
mov eax, dword [esi + 0x14]
mov dword [0x41ba8c], eax
push 0xffffffffffffffa0
call 0x40fecd
mov edi, dword [ebp - 0x104]
sub ecx, ecx
mov dword [edi + 0x14], ecx
mov word [edi + 0x20], cx
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
mov edi, ebx
cmp dword [edi + 0x14], 0
je 0x412654
mov esi, edi
mov ebx, dword [esi + 0x14]
mov dword [ebp - 0xec], ebx
mov esi, edi
movzx edx, word [esi + 0x20]
mov dword [0x41ba88], edx
mov esi, dword [ebp - 0x194]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x104], ebx
mov edi, ebx
mov ax, word [0x41ba88]
mov word [edi + 0x20], ax
push 0xffffffffffffff9f
call 0x40fe5b
mov edi, dword [ebp - 0x104]
mov eax, dword [0x41ba8c]
mov dword [edi + 0x14], eax
cmp dword [edi + 0x14], 0
jne 0x412654
sub eax, eax
mov word [edi + 0x20], ax
jmp 0x412654
mov al, 3
mov byte [edi + 0x26], al
jmp 0x412654
cmp byte [edi + 0x24], 0x19
jne 0x41264f
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
cmp byte [edi + 0x25], 8
jne 0x4125e8
mov edi, ebx
cmp dword [edi + 0xc], 0
je 0x412654
mov esi, edi
mov eax, dword [esi + 0xc]
mov dword [0x41ba8c], eax
push 0xffffffffffffffa0
call 0x40fecd
mov edi, dword [ebp - 0x104]
sub ecx, ecx
mov dword [edi + 0xc], ecx
mov word [edi + 0x1c], cx
jmp 0x412654
cmp byte [edi + 0x25], 9
jne 0x412618
mov edi, ebx
cmp dword [edi + 0x10], 0
je 0x412654
mov esi, edi
mov eax, dword [esi + 0x10]
mov dword [0x41ba8c], eax
push 0xffffffffffffffa0
call 0x40fecd
mov edi, dword [ebp - 0x104]
sub ecx, ecx
mov dword [edi + 0x10], ecx
mov word [edi + 0x1e], cx
jmp 0x412654
cmp byte [edi + 0x25], 0xa
jne 0x412648
mov edi, ebx
cmp dword [edi + 0x14], 0
je 0x412654
mov esi, edi
mov eax, dword [esi + 0x14]
mov dword [0x41ba8c], eax
push 0xffffffffffffffa0
call 0x40fecd
mov edi, dword [ebp - 0x104]
sub ecx, ecx
mov dword [edi + 0x14], ecx
mov word [edi + 0x20], cx
jmp 0x412654
mov al, 3
mov byte [edi + 0x26], al
jmp 0x412654
mov al, 3
mov byte [edi + 0x26], al
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x41268c
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x416
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [0x418a98], eax
mov eax, dword [esi + 0x24]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
call fcn.004012f6
mov edx, dword [0x423d64]
mov dword [0x418828], edx
bswap edx
add edx, 0x2a
mov eax, edx
bswap eax
mov dword [0x418828], eax
mov dword [0x41ba88], edx
mov al, 0xea
mov byte [0x41ba90], al
push 0xffffffffffffff95
call fcn.0040f3c4
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x4128d2
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
mov edi, ebx
cmp word [edi + 0x1c], 0
jbe 0x412720
mov esi, edi
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0xec], ebx
mov esi, edi
movzx edx, word [esi + 0x1c]
mov dword [0x41ba88], edx
push 0xffffffffffffff9f
call 0x40fe5b
mov edi, dword [ebp - 0x104]
mov eax, dword [0x41ba8c]
mov dword [edi + 0xc], eax
jmp 0x412725
sub ecx, ecx
mov dword [edi + 0xc], ecx
cmp word [edi + 0x1e], 0
jbe 0x412768
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x412768
mov esi, dword [ebp - 0x104]
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0xec], ebx
movzx edx, word [esi + 0x1e]
mov dword [0x41ba88], edx
push 0xffffffffffffff9f
call 0x40fe5b
mov edi, dword [ebp - 0x104]
mov eax, dword [0x41ba8c]
mov dword [edi + 0x10], eax
jmp 0x412777
mov edi, dword [ebp - 0x104]
sub eax, eax
mov word [edi + 0x1e], ax
mov dword [edi + 0x10], eax
cmp word [edi + 0x20], 0
jbe 0x4127ba
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x4127ba
mov esi, dword [ebp - 0x104]
mov ebx, dword [esi + 0x14]
mov dword [ebp - 0xec], ebx
movzx edx, word [esi + 0x20]
mov dword [0x41ba88], edx
push 0xffffffffffffff9f
call 0x40fe5b
mov edi, dword [ebp - 0x104]
mov eax, dword [0x41ba8c]
mov dword [edi + 0x14], eax
jmp 0x4127c9
mov edi, dword [ebp - 0x104]
sub eax, eax
mov word [edi + 0x20], ax
mov dword [edi + 0x14], eax
sub ecx, ecx
mov dword [edi + 0x18], ecx
mov esi, edi
mov edi, dword [ebp - 0x19c]
mov dword [edi + 0x20], esi
add esi, 0x28
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x100], ebx
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x218]
mov dword [ebp - 0x10c], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 4
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x10c], ebx
mov edi, dword [ebp - 0x10c]
cmp dword [edi + 8], 0
jne 0x412834
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [edi + 8], eax
jmp 0x4128c1
mov esi, edi
mov ebx, dword [esi + 8]
mov dword [ebp - 0x104], ebx
call fcn.004012f6
mov eax, dword [0x423d64]
mov dword [0x418828], eax
call fcn.00401309
mov esi, dword [ebp - 0x104]
add esi, 0x2a
mov edi, dword [ebp - 0x100]
add edi, 2
mov ebx, dword [0x423d68]
bswap ebx
mov ecx, dword [0x418828]
bswap ecx
call fcn.00424260
jae 0x4128ad
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
mov esi, dword [ebp - 0x10c]
mov edi, ebx
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov esi, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x10c]
mov eax, dword [esi + 0x20]
mov dword [edi + 8], eax
jmp 0x4128c1
mov esi, dword [ebp - 0x10c]
mov ebx, dword [esi + 8]
mov dword [ebp - 0x10c], ebx
jmp 0x412817
mov esi, dword [ebp - 0x19c]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x104], ebx
jmp 0x4128d7
mov al, 7
mov byte [edi + 0x26], al
cmp dword [esp + 4], 0xffffffae
jne 0x4128e1
ret 4
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne 0x412919
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x310
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 8]
mov dword [0x418a98], eax
mov eax, dword [esi + 0xc]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x224]
mov dword [ebp - 0x198], ebx
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x24], 1
jne 0x4129ae
mov esi, edi
sub eax, eax
cmp dword [esi + 8], eax
jne 0x41294f
cmp dword [esi + 0xc], eax
jne 0x41294f
mov al, 3
mov byte [edi + 0x26], al
jmp 0x4129f6
mov ax, 0x4b0
mov dword [0x41ba88], eax
mov al, 0x99
mov byte [0x41ba90], al
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x158], ebx
mov esi, ebx
mov eax, dword [esi + 0xc]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0xc], eax
mov al, 1
mov byte [edi + 0x25], al
call fcn.0040ad7a
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x412995
mov al, 6
mov byte [edi + 0x26], al
jmp 0x4129f6
push 0xffffffffffffff95
call fcn.0040f3c4
cmp byte [0x41ba91], 0
jne 0x4129f6
push 0xffffffffffffff86
call fcn.0040dbe8
jmp 0x4129f6
cmp byte [edi + 0x24], 0x23
jne 0x4129c2
mov al, 1
mov byte [edi + 0x25], al
push 0xffffffffffffff98
call fcn.0040f613
jmp 0x4129f6
cmp byte [edi + 0x24], 0x24
jne 0x4129d6
mov al, 1
mov byte [edi + 0x25], al
push 0xffffffffffffff99
call fcn.0040f65f
jmp 0x4129f6
cmp byte [edi + 0x24], 0x25
jne 0x4129ea
mov al, 1
mov byte [edi + 0x25], al
push 0xffffffffffffff9a
call fcn.0040f7bb
jmp 0x4129f6
mov al, 1
mov byte [edi + 0x25], al
push 0xffffffffffffff9b
call fcn.0040f81d
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x7b], 1
jne fcn.00412a2e
mov al, 0x85
mov byte [0x418a89], al
mov ax, 0x410
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x20]
mov dword [0x418a98], eax
mov eax, dword [esi + 0x24]
mov dword [0x418a9c], eax
call fcn.0040b4e5