Function at 0x4072ee
Capabilities:
Acquire debug privileges
Encode data using base64
Parse credit card information
Persist via run registry key
Self delete

Disassembly:
push ebp
lea ebp, [esp - 0x60]
sub esp, 0x5d4
mov eax, dword [ebp + 0x70]
push ebx
xor ebx, ebx
cmp eax, ebx
push esi
push edi
mov dword [ebp + 0x54], ecx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xe4], ebx
je 0x407321
lea eax, [ebp + 0x70]
push eax
call fcn.00430961
pop ecx
mov eax, dword [ebp + 0x74]
xor edi, edi
inc edi
and eax, edi
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x74]
shr eax, 1
and eax, edi
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0x74]
shr eax, 2
and al, 1
lea ecx, [ebp - 0x104]
mov byte [ebp + 0x2f], bl
mov byte [ebp + 0x2e], bl
mov byte [ebp + 0x53], al
call fcn.00435d62
cmp dword [ebp + 0x68], ebx
je 0x407378
push dword [ebp + 0x68]
lea ecx, [ebp - 0x104]
call fcn.00440487
mov eax, dword [ebp - 0x104]
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x68]
push eax
call fcn.00430961
pop ecx
lea ecx, [ebp - 0xf4]
call fcn.00435d62
mov eax, dword [ebp + 0x70]
cmp eax, ebx
je 0x40739f
push eax
lea ecx, [ebp - 0xf4]
call fcn.00440487
mov eax, dword [ebp - 0xf4]
mov dword [ebp + 0x70], eax
cmp dword [ebp + 0x78], ebx
jne 0x4073ad
lea ecx, [ebp - 0xe0]
mov dword [ebp + 0x78], ecx
mov ecx, dword [ebp + 0x68]
cmp ecx, ebx
push 0x5e
pop esi
mov dword [ebp + 0x48], ecx
mov dword [ebp - 0x16c], esi
jne 0x4073ee
cmp eax, ebx
mov dword [ebp + 0x68], eax
je 0x4073ee
push 5
push eax
push 0x49588c
call fcn.004318b1
add esp, 0xc
test al, al
je 0x4073ee
lea eax, [ebp - 0x16c]
mov dword [ebp + 0x70], eax
mov dword [ebp + 0x14], edi
mov dword [ebp + 4], edi
mov byte [ebp + 0x53], 1
lea ecx, [ebp - 0xe8]
mov byte [ebp + 0x77], bl
mov byte [ebp + 0x44], bl
mov byte [ebp + 3], 1
mov byte [ebp - 0x49], bl
mov byte [ebp + 0x3f], bl
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x34], bl
mov byte [ebp + 0x42], bl
mov byte [ebp + 0x51], bl
mov byte [ebp - 0x31], bl
mov byte [ebp - 0x32], bl
call fcn.00435d62
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x114], ebx
mov byte [ebp - 0x41], bl
mov byte [ebp + 0x46], bl
mov byte [ebp - 0xd], bl
mov byte [ebp - 0x33], bl
mov byte [ebp + 0xf], 1
mov byte [ebp - 0x39], bl
mov dword [ebp - 0x14], ebx
mov dword [ebp + 0x10], ebx
call fcn.00435d62
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x68], ebx
mov byte [ebp + 0x52], bl
call fcn.00435d62
lea ecx, [ebp - 0xb4]
call fcn.00435d62
lea ecx, [ebp - 0xa8]
call fcn.00435d62
or dword [ebp - 0xd4], 0xffffffff
lea ecx, [ebp - 0x12c]
mov byte [ebp + 0x47], bl
mov byte [ebp + 0x45], bl
mov dword [ebp - 0xfc], ebx
call fcn.00435d62
xor eax, eax
push 0xf
pop ecx
mov dword [ebp - 0x244], 0x44
mov dword [ebp - 0x240], ebx
lea edi, [ebp - 0x23c]
rep stosd dword es:[edi], eax
push 0x11
mov dword [ebp - 0x15c], ebx
pop ecx
lea edi, [ebp - 0x200]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x158]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x14c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 0x70]
cmp eax, ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp + 0x30], ebx
jne 0x4074e6
mov byte [ebp + 0x45], 1
jmp 0x407540
cmp word [eax], 0x23
jne 0x4074fc
cmp eax, dword [ebp + 0x68]
jne 0x4074f5
add dword [ebp + 0x68], 2
inc eax
inc eax
mov dword [ebp + 0x70], eax
jmp 0x407509
test byte [0x4b0003], 3
je 0x407509
mov byte [ebp + 0x45], 3
cmp eax, ebx
je 0x407540
cmp word [eax], si
jne 0x407524
cmp eax, dword [ebp + 0x68]
jne 0x40751b
add dword [ebp + 0x68], 2
inc eax
inc eax
mov dword [ebp + 0x70], eax
mov byte [ebp + 0x53], 1
cmp eax, ebx
je 0x407540
cmp word [eax], 0x24
jne 0x407540
cmp eax, dword [ebp + 0x68]
jne 0x407537
add dword [ebp + 0x68], 2
inc eax
inc eax
mov dword [ebp + 0x70], eax
mov byte [ebp + 0x51], 1
cmp eax, ebx
mov dword [ebp - 0x74], ebx
je 0x407563
cmp word [eax], 0x7c
jne 0x407563
cmp eax, dword [ebp + 0x68]
jne 0x407556
add dword [ebp + 0x68], 2
inc eax
inc eax
xor ecx, ecx
inc ecx
mov dword [ebp + 0x70], eax
mov dword [ebp - 0x74], ecx
jmp 0x407566
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x7c]
cmp eax, ebx
je 0x4075d2
cmp word [eax], 0x2a
jne 0x4075d2
push 2
pop edx
add dword [ebp + 0x68], edx
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x7c
mov byte [ebp + 0x77], 0x10
jne 0x40758c
add dword [ebp + 0x68], edx
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x31
jne 0x40759e
mov byte [ebp + 0x77], 0x11
jmp 0x4075b9
mov esi, eax
or esi, 0x20
cmp si, 0x6e
jne 0x4075af
mov byte [ebp + 0x77], 0x12
jmp 0x4075b9
cmp ax, 0x2d
jne 0x4075bc
mov byte [ebp + 0x77], 0x14
add dword [ebp + 0x68], edx
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.0040bc38
test al, al
jne 0x4075d2
mov ebx, ecx
jmp 0x40ae52
lea eax, [ebp + 0x68]
push eax
call fcn.00430961
cmp byte [ebp + 0x77], bl
pop ecx
jne 0x40767b
lea eax, [ebp + 0x68]
push eax
call fcn.00430961
cmp dword [ebp - 0x88], ebx
mov eax, dword [ebp + 0x68]
pop ecx
mov dword [ebp + 0x4c], eax
je 0x407606
cmp byte [ebp + 0x77], bl
jne 0x407751
push 2
pop esi
cmp word [eax], 0x2d
mov edi, eax
jne 0x40761d
add eax, 2
cmp word [eax], 0x2d
jne 0x40761d
mov dword [ebp + 0x4c], eax
push 1
lea eax, [ebp + 0x4c]
push eax
push 0x495888
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x407751
mov eax, dword [ebp + 0x4c]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40764e
cmp ax, 0x2f
jne 0x407751
add dword [ebp + 0x4c], esi
push 5
lea eax, [ebp + 0x4c]
push eax
push 0x495880
call fcn.00437b13
add esp, 0xc
test al, al
je 0x4076f9
mov al, byte [ebp + 0x77]
or byte [ebp + 0x77], 0x10
cmp al, bl
jne 0x4078e2
mov esi, dword [ebp + 0x68]
xor ecx, ecx
xor eax, eax
mov ax, word [esi]
inc ecx
cmp ax, bx
mov dword [ebp + 0x14], ecx
mov edi, esi
je 0x4075cb
push 2
pop edx
cmp ax, 0x3d
je 0x4076a7
add edi, edx
mov ax, word [edi]
cmp ax, bx
jne 0x407697
cmp edi, esi
je 0x4075cb
cmp word [edi], 0x3d
jne 0x4075cb
sub edi, edx
cmp word [edi], 0x2b
jne 0x4076c8
mov al, byte [edi]
mov byte [ebp - 0x41], al
sub edi, edx
cmp edi, esi
mov ecx, edi
jbe 0x4076e0
mov ax, word [ecx]
call fcn.0040bc38
test al, al
je 0x4076e0
sub ecx, edx
cmp ecx, esi
ja 0x4076ce
mov ax, word [ecx]
call fcn.0040bc38
test al, al
jne 0x407977
mov edx, ecx
inc ecx
inc ecx
jmp 0x407909
push 4
push dword [ebp + 0x4c]
push 0x495878
call fcn.004318b1
add esp, 0xc
test al, al
je 0x407860
add dword [ebp + 0x4c], 8
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp + 0x4c]
push eax
push dword [ebp + 0x54]
call fcn.00403ac3
add esp, 0x10
mov dword [ebp - 0x88], eax
jmp 0x407743
mov word [edi], 0x20
add edi, esi
cmp edi, dword [ebp + 0x4c]
jb 0x40773c
cmp byte [ebp + 0x77], bl
je 0x4078e2
lea eax, [ebp + 0x68]
push eax
call fcn.00430961
mov eax, dword [ebp - 0x88]
cmp eax, ebx
pop ecx
je 0x407770
cmp word [eax], bx
jne 0x407770
mov dword [ebp - 0x88], ebx
cmp dword [ebp - 0x74], ebx
jne 0x40777d
cmp dword [ebp + 0x7c], ebx
mov byte [ebp + 0x5b], bl
je 0x407781
mov byte [ebp + 0x5b], 1
xor esi, esi
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x24], ebx
call fcn.00435d62
lea ecx, [ebp - 0xd0]
call fcn.00435d62
lea ecx, [ebp - 0x10c]
call fcn.00435d62
cmp byte [ebp + 0x5b], bl
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0xd8], ebx
mov byte [ebp + 0x43], bl
mov dword [ebp - 0x38], ebx
jne 0x4077f0
cmp dword [ebp + 0x48], ebx
jne 0x4077f0
mov ecx, dword [ebp + 0x54]
push 1
push ebx
lea eax, [ebp - 0xd8]
push eax
push dword [ebp + 0x68]
call fcn.0043e7f3
mov eax, dword [ebp - 0xd8]
mov dword [ebp + 0x68], eax
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2d
mov dword [ebp - 0x7c], eax
jne 0x407808
add eax, 2
cmp word [eax], 0x2d
jne 0x407808
mov dword [ebp + 0x68], eax
xor edi, edi
inc edi
push edi
lea eax, [ebp + 0x68]
push eax
push 0x495888
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x4083a4
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40783b
cmp ax, 0x2f
jne 0x4083a4
add dword [ebp + 0x68], 2
push 5
lea eax, [ebp + 0x68]
push eax
push 0x495880
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x40797f
mov byte [ebp + 0x77], 0x10
jmp 0x4077f0
push 3
push dword [ebp + 0x4c]
push 0x495874
call fcn.004318b1
add esp, 0xc
test al, al
je 0x40788a
add dword [ebp + 0x4c], 6
jmp 0x40787f
add dword [ebp + 0x4c], esi
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2a
je 0x40787c
jmp 0x4078c0
push 4
push dword [ebp + 0x4c]
push 0x49586c
call fcn.004318b1
add esp, 0xc
test al, al
je 0x4078a6
add dword [ebp + 0x4c], 8
jmp 0x4078c0
push 5
push dword [ebp + 0x4c]
push 0x495864
call fcn.004318b1
add esp, 0xc
test al, al
je 0x4078e2
add dword [ebp + 0x4c], 0xa
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x22
jne 0x4078e2
add dword [ebp + 0x4c], esi
jmp 0x4078d7
add dword [ebp + 0x4c], esi
cmp ax, 0x22
je 0x4078e2
mov eax, dword [ebp + 0x4c]
mov ax, word [eax]
cmp ax, bx
jne 0x4078ce
lea eax, [ebp + 0x4c]
push eax
call fcn.0040459d
mov eax, dword [ebp + 0x4c]
pop ecx
jmp 0x407609
lea eax, [edx - 2]
mov dword [ebp - 0x7c], eax
mov ax, word [eax]
call fcn.0040bc38
test al, al
jne 0x40790d
mov edx, dword [ebp - 0x7c]
cmp edx, esi
ja 0x4078f4
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x50]
call fcn.00435e88
mov esi, dword [ebp + 0x54]
push ebx
lea eax, [ebp - 0x50]
push eax
mov ecx, esi
call fcn.00402c4d
cmp byte [esi + 0x92], bl
jne 0x407938
test byte [esi + 9], 0xf
je 0x40794e
push ebx
lea eax, [ebp - 0x50]
push eax
mov ecx, esi
call fcn.00402c4d
jmp 0x40794e
cmp ax, 0x3d
je 0x40795c
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x407946
cmp ax, 0x3d
jne 0x407977
lea eax, [ebp - 0xfc]
add edi, 2
push eax
mov dword [ebp - 0xfc], edi
call fcn.00430961
pop ecx
jmp 0x4075e5
xor ebx, ebx
inc ebx
jmp 0x40ae52
push 6
push dword [ebp + 0x68]
push 0x49585c
call fcn.004318b1
add esp, 0xc
test al, al
lea eax, [ebp + 0x68]
je 0x4079c6
add dword [ebp + 0x68], 0xc
mov edi, dword [ebp + 0x68]
push eax
call fcn.00404579
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
je 0x4079b5
mov word [eax], bx
add dword [ebp + 0x68], 2
cmp word [edi], bx
je 0x408206
mov dword [ebp + 0x30], edi
jmp 0x408206
push 4
push eax
push 0x495854
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x4079ed
or byte [ebp + 0x53], 2
and byte [ebp + 0x45], 0xfe
mov dword [ebp + 4], edi
mov dword [ebp + 0x14], edi
jmp 0x4077f0
push 5
push dword [ebp + 0x68]
push 0x49584c
call fcn.004318b1
add esp, 0xc
test al, al
je 0x407a52
add dword [ebp + 0x68], 0xa
mov eax, dword [ebp + 0x68]
or byte [ebp + 0x53], 2
and byte [ebp + 0x45], 0xfe
mov dword [ebp - 0x18], eax
push 5
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp + 4], edi
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x1c], ebx
call fcn.00416853
add esp, 0xc
cmp dword [ebp + 0x1c], ebx
mov dword [ebp + 0x68], eax
jle 0x4077f0
push dword [ebp + 0x1c]
lea ecx, [ebp - 0xe4]
push dword [ebp - 0x18]
call fcn.00435e88
jmp 0x4077f0
push 9
push dword [ebp + 0x68]
push 0x495840
call fcn.004318b1
add esp, 0xc
test al, al
je 0x407a9b
add dword [ebp + 0x68], 0x12
mov edi, dword [ebp + 0x68]
lea eax, [ebp + 0x68]
push eax
call fcn.00404579
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0xe8]
call fcn.00435e88
lea eax, [ebp + 0x68]
push eax
call fcn.00430961
jmp 0x40839e
push 8
push dword [ebp + 0x68]
push 0x495834
call fcn.004318b1
add esp, 0xc
test al, al
je 0x407b4e
add dword [ebp + 0x68], 0x10
mov eax, dword [ebp + 0x68]
mov dword [ebp + 0x18], eax
lea eax, [ebp + 0x68]
push eax
call fcn.00404579
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
je 0x407ad5
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x68]
push eax
call fcn.00430961
pop ecx
lea eax, [ebp - 0x118]
push eax
call dword [fcn.00494734]
mov eax, dword [ebp + 0x18]
mov ax, word [eax]
cmp ax, bx
mov byte [ebp - 0x31], 1
je 0x407b0b
cmp ax, 0x30
jb 0x407b07
cmp ax, 0x39
jbe 0x407b0b
add dword [ebp + 0x18], 2
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00438b8e
mov eax, dword [ebp + 0x18]
mov ax, word [eax]
cmp ax, bx
pop ecx
pop ecx
je 0x407b38
cmp ax, 0x30
jb 0x407b34
cmp ax, 0x39
jbe 0x407b38
add dword [ebp + 0x18], 2
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00438b8e
pop ecx
jmp 0x40839e
push 4
push dword [ebp + 0x68]
push 0x49582c
call fcn.004318b1
add esp, 0xc
test al, al
je 0x407b8b
add dword [ebp + 0x68], 8
mov esi, dword [ebp + 0x68]
lea eax, [ebp + 0x68]
push eax
call fcn.00404579
mov eax, dword [ebp + 0x68]
cmp esi, eax
pop ecx
je 0x408206
lea ecx, [ebp - 0x100]
jmp 0x4081fb
push 4
push dword [ebp + 0x68]
push 0x49586c
call fcn.004318b1
add esp, 0xc
test al, al
je 0x407ca4
mov eax, dword [ebp + 0x68]
add eax, 8
mov dword [ebp + 0x68], eax
mov cx, word [eax]
xor edx, edx
cmp cx, 0x23
mov edi, eax
mov dword [ebp - 0x24], ebx
jne 0x407bc5
mov dword [ebp - 0x38], 1
cmp cx, 0x22
jne 0x407c3c
lea esi, [eax + 2]
mov edi, eax
mov ecx, esi
jmp 0x407bfa
cmp ax, 0x22
jne 0x407bf8
inc edx
test dl, 1
je 0x407bf8
xor eax, eax
mov ax, word [ecx + 2]
cmp ax, bx
je 0x407c05
call fcn.0040bc38
test al, al
jne 0x407c05
or dword [ebp - 0x38], 2
inc ecx
inc ecx
mov dword [ebp + 0x68], ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x407bd4
push 0x22
pop edx
cmp word [ecx], dx
jne 0x407c49
or dword [ebp - 0x24], 0xffffffff
inc ecx
inc ecx
mov dword [ebp + 0x68], ecx
cmp word [ecx - 4], dx
mov edi, esi
mov byte [ebp + 0x43], 2
je 0x407c30
mov ax, word [edi]
cmp ax, dx
jne 0x407c49
cmp word [edi + 2], dx
jne 0x407c35
mov byte [ebp + 0x43], bl
jmp 0x407c49
cmp ax, dx
jne 0x407c49
jmp 0x407c30
lea eax, [ebp + 0x68]
push eax
call fcn.00404579
pop ecx
mov ecx, dword [ebp + 0x68]
sub ecx, edi
sar ecx, 1
add dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], ebx
jle 0x408206
add edi, 0xfffffff6
push edi
lea ecx, [ebp - 0xac]
call fcn.00440487
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
add eax, 0xa
mov word [eax + ecx*2], bx
cmp word [eax], 0x2a
mov dword [ebp + 0x38], eax
jne 0x408206
cmp word [eax + 2], bx
jne 0x408206
lea eax, [ebp - 0xac]
push eax
call fcn.00403bbc
pop ecx
mov dword [ebp + 0x38], eax
jmp 0x408206
push 3
push dword [ebp + 0x68]
push 0x495874
call fcn.004318b1
add esp, 0xc
test al, al
je 0x407d8f
mov eax, dword [ebp + 0x68]
xor edi, edi
add eax, 6
jmp 0x407ccb
inc edi
inc eax
inc eax
mov dword [ebp + 0x68], eax
cmp word [eax], 0x2a
je 0x407cc8
cmp edi, 2
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x64], ebx
jge 0x407d55
push 1
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.00416853
add esp, 0xc
cmp dword [ebp - 0x64], ebx
mov dword [ebp + 0x68], eax
jle 0x407d16
push dword [ebp - 0x64]
lea ecx, [ebp - 0x54]
push dword [ebp - 0x128]
call fcn.00435e88
mov eax, dword [ebp - 0x54]
mov dword [ebp + 0x24], eax
cmp edi, 1
jne 0x408206
cmp dword [ebp - 0x64], ebx
jle 0x408206
mov eax, dword [ebp - 0x54]
push edi
lea ecx, [ebp - 0x54]
push ecx
push eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x54], ebx
call fcn.00473899
add esp, 0xc
lea ecx, [ebp - 0xb0]
mov dword [ebp + 0x24], eax
call fcn.0043092f
jmp 0x408206
push 0x105
lea ecx, [ebp - 0x54]
call fcn.00435da9
push 0x104
push dword [ebp - 0x54]
push ebx
call dword [fcn.00494404]
push 0x5c
push ebx
push dword [ebp - 0x54]
call dword [fcn.0049456c]
cmp eax, ebx
je 0x407d84
mov word [eax], bx
mov eax, dword [ebp - 0x54]
mov dword [ebp + 0x24], eax
jmp 0x408206
push 5
push dword [ebp + 0x68]
push 0x495864
call fcn.004318b1
add esp, 0xc
test al, al
je 0x407e07
mov eax, dword [ebp + 0x68]
add eax, 0xa
xor ecx, ecx
mov dword [ebp + 0x68], eax
mov dword [ebp - 0x18], eax
cmp word [eax], 0x3f
sete cl
mov edi, ecx
cmp edi, ebx
je 0x407dc6
add eax, 2
mov dword [ebp - 0x18], eax
mov esi, eax
push 1
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp + 0x34], ebx
call fcn.00416853
add esp, 0xc
cmp dword [ebp + 0x34], ebx
mov dword [ebp + 0x68], eax
jle 0x408206
cmp edi, ebx
je 0x407df9
cmp dword [0x4ace14], ebx
je 0x408206
push dword [ebp + 0x34]
lea ecx, [ebp - 0xf8]
jmp 0x408200
push 5
lea eax, [ebp + 0x68]
push eax
push 0x495824
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407e27
mov byte [ebp - 0x32], 1
jmp 0x4077f0
push 4
lea eax, [ebp + 0x68]
push eax
push 0x49581c
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407e4a
mov dword [ebp - 0x14], 0x10000000
jmp 0x4077f0
push 4
lea eax, [ebp + 0x68]
push eax
push 0x495814
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407e69
mov dword [ebp + 0x14], edi
jmp 0x4077f0
push 3
lea eax, [ebp + 0x68]
push eax
push 0x495810
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407e89
or byte [ebp + 0x44], 1
jmp 0x4077f0
push 4
lea eax, [ebp + 0x68]
push eax
push 0x495808
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407ea9
or byte [ebp + 0x44], 3
jmp 0x4077f0
push 5
lea eax, [ebp + 0x68]
push eax
push 0x495800
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407ec9
mov byte [ebp - 0x34], 1
jmp 0x4077f0
push 3
lea eax, [ebp + 0x68]
push eax
push 0x4957fc
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407ee9
mov byte [ebp + 0x42], 1
jmp 0x4077f0
push 4
lea eax, [ebp + 0x68]
push eax
push 0x4957f4
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407f08
mov dword [ebp + 4], edi
jmp 0x4077f0
push 3
lea eax, [ebp + 0x68]
push eax
push 0x4957f0
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407f2b
mov dword [ebp - 0x14], 6
jmp 0x4077f0
push 3
lea eax, [ebp + 0x68]
push eax
push 0x4957ec
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407f4e
mov dword [ebp - 0x14], 3
jmp 0x4077f0
push 4
lea eax, [ebp + 0x68]
push eax
push 0x4957e4
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407f6d
mov dword [ebp - 0x14], edi
jmp 0x4077f0
push 4
lea eax, [ebp + 0x68]
push eax
push 0x4957dc
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407f8d
mov byte [ebp - 0x29], 1
jmp 0x4077f0
push 2
lea eax, [ebp + 0x68]
push eax
push 0x4957d8
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407fad
mov byte [ebp + 3], 1
jmp 0x4077f0
push 4
lea eax, [ebp + 0x68]
push eax
push 0x4957d0
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407fcc
mov byte [ebp + 3], bl
jmp 0x4077f0
push 3
lea eax, [ebp + 0x68]
push eax
push 0x4957cc
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x407fec
mov byte [ebp - 0x49], 1
jmp 0x4077f0
push 2
lea eax, [ebp + 0x68]
push eax
push 0x4957c8
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x40800c
mov byte [ebp + 0x3f], 1
jmp 0x4077f0
push 5
lea eax, [ebp + 0x68]
push eax
push 0x4957c0
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x40802c
mov byte [ebp - 0x33], 1
jmp 0x4077f0
push 7
lea eax, [ebp + 0x68]
push eax
push 0x4957b8
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x40804c
mov byte [ebp + 0xf], 1
jmp 0x4077f0
push 8
lea eax, [ebp + 0x68]
push eax
push 0x4957ac
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x40806b
mov byte [ebp + 0xf], bl
jmp 0x4077f0
push 3
push dword [ebp + 0x68]
push 0x4957a8
call fcn.004318b1
add esp, 0xc
test al, al
je 0x4080bd
add dword [ebp + 0x68], 6
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3a
mov byte [ebp + 0x51], 1
jne 0x408206
add dword [ebp + 0x68], 2
mov esi, dword [ebp + 0x68]
lea eax, [ebp + 0x68]
push eax
call fcn.00404579
mov eax, dword [ebp + 0x68]
cmp esi, eax
pop ecx
je 0x408206
lea ecx, [ebp - 0xd0]
jmp 0x4081fb
push 5
push dword [ebp + 0x68]
push 0x4957a0
call fcn.004318b1
add esp, 0xc
test al, al
je 0x408172
add dword [ebp + 0x68], 0xa
mov eax, dword [ebp + 0x68]
mov dword [ebp - 0xc], eax
push 0xffffffffffffffff
lea eax, [ebp - 0xc]
push eax
push 0x495798
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x408108
mov byte [ebp + 0x52], 1
mov dword [ebp - 0x68], 0xfde9
jmp 0x408395
push 0xffffffffffffffff
lea eax, [ebp - 0xc]
push eax
push 0x495790
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x40812b
mov byte [ebp + 0x52], 1
mov dword [ebp - 0x68], ebx
jmp 0x408395
push 0xffffffffffffffff
lea eax, [ebp - 0xc]
push eax
push 0x49578c
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x408152
mov byte [ebp + 0x52], 2
mov dword [ebp - 0x68], 0x4b0
jmp 0x408395
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.00438b8e
test eax, eax
pop ecx
pop ecx
jle 0x408395
mov byte [ebp + 0x52], 1
jmp 0x408395
push 5
push dword [ebp + 0x68]
push 0x495784
call fcn.004318b1
add esp, 0xc
test al, al
je 0x4081a8
add dword [ebp + 0x68], 0xa
mov esi, dword [ebp + 0x68]
lea eax, [ebp + 0x68]
push eax
call fcn.00404579
mov eax, dword [ebp + 0x68]
cmp esi, eax
pop ecx
je 0x408206
lea ecx, [ebp - 0xb4]
jmp 0x4081fb
push 7
push dword [ebp + 0x68]
push 0x49577c
call fcn.004318b1
add esp, 0xc
test al, al
je 0x4081c3
mov byte [ebp + 0x47], bl
jmp 0x4081dd
push 7
push dword [ebp + 0x68]
push 0x495774
call fcn.004318b1
add esp, 0xc
test al, al
je 0x408218
mov byte [ebp + 0x47], 1
add dword [ebp + 0x68], 0xe
mov esi, dword [ebp + 0x68]
lea eax, [ebp + 0x68]
push eax
call fcn.00404579
mov eax, dword [ebp + 0x68]
cmp esi, eax
pop ecx
je 0x408206
lea ecx, [ebp - 0xa8]
sub eax, esi
sar eax, 1
push eax
push esi
call fcn.00435e88
lea eax, [ebp + 0x68]
push eax
call fcn.00430961
mov esi, dword [ebp + 0x38]
pop ecx
jmp 0x4077f0
push 8
lea eax, [ebp + 0x68]
push eax
push 0x495768
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x40823b
mov dword [ebp + 0x10], 0x100
jmp 0x4077f0
push 4
lea eax, [ebp + 0x68]
push eax
push 0x495760
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x40825e
mov dword [ebp + 0x10], 0x80
jmp 0x4077f0
push 0xb
lea eax, [ebp + 0x68]
push eax
push 0x495754
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x408281
mov dword [ebp + 0x10], 0x8000
jmp 0x4077f0
push 6
lea eax, [ebp + 0x68]
push eax
push 0x49574c
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x4082a4
mov dword [ebp + 0x10], 0x20
jmp 0x4077f0
push 0xb
lea eax, [ebp + 0x68]
push eax
push 0x495740
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x4082c7
mov dword [ebp + 0x10], 0x4000
jmp 0x4077f0
push 3
lea eax, [ebp + 0x68]
push eax
push 0x49573c
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x408317
mov edi, dword [ebp + 0x68]
push 4
push edi
push 0x495730
call dword [fcn.00494578]
test eax, eax
jne 0x408323
xor ecx, ecx
mov cx, word [edi + 8]
mov eax, ecx
call fcn.0040bc38
test al, al
jne 0x408309
cmp cx, bx
jne 0x408323
add dword [ebp + 0x68], 8
lea eax, [ebp + 0x68]
push eax
call fcn.00430961
pop ecx
mov dword [ebp + 0x10], pe_nt_image_headers32
jmp 0x4077f0
push 3
lea eax, [ebp + 0x68]
push eax
push 0x49572c
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x408343
mov byte [ebp + 0x46], 1
jmp 0x4077f0
push 3
lea eax, [ebp + 0x68]
push eax
push 0x495728
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x408369
mov byte [ebp - 0xd], 1
mov byte [ebp + 0x52], bl
mov dword [ebp - 0x68], ebx
jmp 0x4077f0
push 3
lea eax, [ebp + 0x68]
push eax
push 0x495724
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x408389
mov byte [ebp - 0x39], 1
jmp 0x4077f0
mov eax, dword [ebp - 0x7c]
cmp word [eax], 0x2d
mov dword [ebp + 0x68], eax
jne 0x4083a4
lea eax, [ebp + 0x68]
push eax
call fcn.0040459d
pop ecx
jmp 0x4077f0
cmp dword [ebp - 0x68], 0x4b0
jne 0x4083b1
mov byte [ebp + 0x52], 2
mov eax, dword [ebp - 0xfc]
cmp eax, ebx
je 0x4083e4
cmp byte [ebp + 0x5b], bl
mov dword [ebp + 0x68], eax
jne 0x4083e4
cmp dword [ebp + 0x48], ebx
jne 0x4083e4
push 1
push ebx
lea ecx, [ebp - 0xd8]
push ecx
mov ecx, dword [ebp + 0x54]
push eax
call fcn.0043e7f3
mov eax, dword [ebp - 0xd8]
mov dword [ebp + 0x68], eax
cmp esi, ebx
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x30], ebx
je 0x408408
cmp word [esi], bx
je 0x408408
cmp word [ebp - 0x38], bx
je 0x40840b
mov byte [ebp + 0x46], bl
cmp esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 4], ebx
mov dword [ebp + 0x20], ebx
mov dword [ebp - 0x124], 0x494e9c
je 0x4084fa
cmp word [esi], 0x2a
jne 0x40843a
inc esi
inc esi
inc dword [ebp - 0x20]
cmp word [esi], 0x2a
je 0x40842c
mov dword [ebp + 0x38], esi
cmp word [esi], 0x3f
jne 0x408466
inc esi
inc esi
mov dword [ebp + 0x38], esi
mov dword [ebp - 0x124], esi
jmp 0x408458
inc esi
inc esi
cmp ax, 0x3a
mov dword [ebp + 0x38], esi
je 0x408462
mov ax, word [esi]
cmp ax, bx
jne 0x40844d
jmp 0x408466
mov word [esi - 2], bx
mov ax, word [esi]
push 0x20
pop ecx
or ax, cx
cmp ax, 0x63
jne 0x4084a2
mov dx, word [esi + 2]
or dx, cx
cmp dx, 0x61
jne 0x4084a2
mov dx, word [esi + 4]
or dx, cx
cmp dx, 0x62
jne 0x4084a2
cmp word [esi + 6], 0x3a
jne 0x4084a2
mov dword [ebp - 4], 1
add esi, 8
jmp 0x4084c6
cmp ax, 0x65
jne 0x4084c9
mov ax, word [esi + 2]
or ax, cx
cmp ax, 0x78
jne 0x4084c9
cmp word [esi + 4], 0x3a
jne 0x4084c9
mov dword [ebp - 4], 0x100
add esi, 6
mov dword [ebp + 0x38], esi
cmp esi, ebx
je 0x4084fa
mov ax, word [esi]
or ax, cx
cmp ax, 0x75
jne 0x4084fa
mov ax, word [esi + 2]
or ax, cx
cmp ax, 0x64
jne 0x4084fa
cmp word [esi + 4], 0x3a
jne 0x4084fa
add esi, 6
mov dword [ebp + 0x20], 1
mov dword [ebp + 0x38], esi
cmp byte [ebp + 0x46], bl
je 0x408541
cmp esi, ebx
je 0x408541
cmp word [ebp - 4], bx
jne 0x408541
cmp word [ebp + 0x20], bx
jne 0x408541
xor eax, eax
cmp byte [ebp + 0x43], bl
mov ecx, esi
setne al
mov edi, eax
xor eax, eax
mov ax, word [esi]
jmp 0x40853c
cmp ax, 0x22
jne 0x408537
inc edi
cmp edi, 2
jl 0x408537
cmp word [ecx + 2], bx
je 0x408537
mov byte [ebp + 0x46], bl
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x408522
cmp word [ebp - 0x20], bx
jne 0x408553
cmp word [ebp - 4], bx
jne 0x408553
cmp word [ebp + 0x20], bx
je 0x408556
mov byte [ebp + 0x43], bl
cmp byte [ebp + 0x46], bl
je 0x40859b
xor eax, eax
cmp word [ebp + 0x20], bx
sete al
xor ecx, ecx
cmp word [ebp - 4], bx
sete cl
test ecx, eax
je 0x40859b
push 0x2a
push esi
call dword [0x494570]
cmp eax, ebx
mov dword [ebp - 0x30], eax
je 0x408589
mov word [eax], bx
inc eax
inc eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x13c]
push eax
push esi
call fcn.00410567
pop ecx
pop ecx
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp + 0x78]
xor ecx, ecx
inc ecx
mov dword [eax], ecx
xor eax, eax
lea edi, [ebp - 0x11c]
mov dword [ebp - 0x120], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x180], ebx
lea edi, [ebp - 0x17c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
cmp dword [ebp + 0x30], ebx
mov dword [ebp - 0x6c], ebx
setne al
cmp byte [ebp + 0x3f], bl
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x168], 0xc
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x108], ebx
je 0x40863c
lea eax, [ebp - 0x244]
or byte [eax + 0x2d], cl
mov dword [ebp - 0x1c], ecx
mov ecx, dword [0x4ab2e4]
mov dword [eax + 0x3c], ecx
mov ecx, dword [0x4ab2e8]
mov dword [eax + 0x40], ecx
mov ecx, dword [0x4ab2e0]
mov dword [eax + 0x38], ecx
cmp byte [ebp + 0x5b], bl
je 0x408ac8
mov ecx, dword [ebp + 0x68]
cmp word [ecx], 0x7c
mov dword [ebp - 0x28], ebx
jne 0x40866a
inc ecx
inc ecx
xor eax, eax
mov dword [ebp + 0x68], ecx
mov ax, word [ecx]
cmp ax, 0x7c
je 0x408651
call fcn.0040bc38
test al, al
jne 0x408651
mov dword [ebp + 0x1c], ecx
mov eax, dword [ebp + 0x68]
xor edx, edx
mov dword [ebp + 0x5c], edx
cmp word [eax], bx
je 0x408715
cmp word [eax], 0x7c
jne 0x40869a
cmp word [eax + 2], 0x7c
je 0x408692
mov edx, eax
mov dword [ebp + 0x5c], edx
jmp 0x40869a
inc eax
inc eax
cmp word [eax], 0x7c
je 0x408692
inc eax
inc eax
cmp word [eax], bx
jne 0x40867e
cmp edx, ebx
je 0x408715
lea eax, [ebp + 0x5c]
mov word [edx], bx
add dword [ebp + 0x5c], 2
push eax
call fcn.00430961
mov edx, dword [ebp + 0x5c]
xor eax, eax
mov ax, word [edx]
cmp ax, bx
pop ecx
mov edi, edx
je 0x40866d
cmp ax, 0x7c
jne 0x4086f4
lea esi, [edi + 2]
cmp word [esi], ax
jne 0x4086f4
push edi
call dword [fcn.004944c4]
shl eax, 1
push eax
push esi
push edi
call fcn.00410296
add esp, 0xc
cmp word [edi], 0x7c
jne 0x4086f1
inc edi
inc edi
jmp 0x4086e7
mov edx, dword [ebp + 0x5c]
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x4086c5
cmp word [edx], bx
je 0x40866d
mov eax, dword [ebp + 0x1c]
cmp word [eax], bx
mov cl, 1
je 0x408717
mov al, cl
jmp 0x408723
xor cl, cl
xor al, al
cmp cl, bl
jne 0x408723
mov edx, dword [ebp + 0x1c]
mov dword [ebp + 0x5c], edx
cmp al, bl
mov dword [ebp + 0x48], edx
je 0x4087f4
call dword [fcn.0049446c]
mov esi, eax
push ebx
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x80]
push eax
xor edi, edi
lea eax, [ebp - 0x84]
inc edi
push eax
mov dword [ebp - 0xc4], 0xc
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], edi
call dword [0x494184]
test eax, eax
jne 0x408776
mov ecx, dword [ebp + 0x54]
push ebx
push edi
call fcn.0040d358
mov edi, dword [0x494180]
push 3
push ebx
push ebx
lea eax, [ebp - 0x84]
push eax
push esi
push dword [ebp - 0x84]
push esi
call edi
cmp dword [ebp - 0x80], ebx
mov word [ebp + 0x3e], bx
je 0x4087bd
push dword [ebp - 0x80]
mov ecx, dword [ebp + 0x54]
push ebx
push ebx
lea eax, [ebp + 0x3e]
push eax
push ecx
push dword [ebp + 0x1c]
call fcn.004072ee
cmp dword [ebp - 0x80], ebx
je 0x4087bd
push dword [ebp - 0x80]
call dword [fcn.004944a8]
push 3
push 1
push ebx
lea eax, [ebp - 0x84]
push eax
push esi
push dword [ebp - 0x84]
mov dword [ebp - 0x80], ebx
push esi
call edi
mov ecx, dword [ebp - 0x84]
cmp ecx, ebx
je 0x4087f4
lea eax, [ebp - 0x244]
or byte [eax + 0x2d], 1
mov dword [ebp - 0x1c], 1
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x5c], eax
xor edi, edi
inc edi
mov cx, word [eax]
cmp cx, bx
je 0x408a64
cmp cx, 0x3c
je 0x408822
cmp cx, 0x3e
je 0x408822
inc eax
inc eax
mov dword [ebp + 0x5c], eax
mov cx, word [eax]
cmp cx, bx
jne 0x408809
mov cx, word [eax]
cmp cx, bx
je 0x408a64
cmp cx, 0x3c
jne 0x4088fd
mov word [eax], bx
add dword [ebp + 0x5c], 2
lea eax, [ebp + 0x5c]
push eax
call fcn.00430961
mov eax, dword [ebp + 0x5c]
cmp word [eax], bx
pop ecx
je 0x4088fd
mov dword [ebp - 8], eax
jmp 0x40886b
cmp cx, 0x3c
je 0x408873
cmp cx, 0x3e
je 0x408873
inc eax
inc eax
mov dword [ebp + 0x5c], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40885a
sub eax, dword [ebp - 8]
lea ecx, [ebp - 0x60]
sar eax, 1
push eax
push dword [ebp - 8]
call fcn.004403e0
lea ecx, [ebp + 0x1c]
call fcn.00435d62
mov ecx, dword [ebp + 0x54]
push edi
push ebx
lea eax, [ebp + 0x1c]
push eax
push dword [ebp - 8]
call fcn.0043e7f3
mov eax, dword [ebp + 0x1c]
push eax
mov dword [ebp - 8], eax
call fcn.0040cd10
lea eax, [ebp - 8]
push eax
call fcn.00430961
cmp dword [ebp - 0x58], ebx
pop ecx
pop ecx
je 0x4088c2
push dword [ebp - 0x58]
call dword [fcn.004944a8]
push ebx
push ebx
push 3
lea eax, [ebp - 0x168]
push eax
push 7
push 0xc0000000
push dword [ebp - 8]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], ebx
call fcn.004045f9
cmp dword [ebp - 0x58], ebx
jne 0x4088ea
mov dword [ebp - 0x58], ebx
lea ecx, [ebp + 0x1c]
call fcn.0043092f
lea ecx, [ebp - 0x60]
call fcn.0043092f
mov eax, dword [ebp + 0x5c]
cmp word [eax], 0x3e
jne 0x4087fd
mov word [eax], bx
mov eax, dword [ebp + 0x5c]
xor esi, esi
cmp word [eax - 2], 0x32
mov byte [ebp + 0x5b], 1
jne 0x408922
mov byte [ebp + 0x5b], 2
mov word [eax - 2], bx
add dword [ebp + 0x5c], 2
mov eax, dword [ebp + 0x5c]
cmp word [eax], 0x3e
jne 0x408935
add dword [ebp + 0x5c], 2
mov esi, edi
mov eax, dword [ebp + 0x5c]
cmp word [eax], 0x26
jne 0x408946
add dword [ebp + 0x5c], 2
mov byte [ebp + 0x5b], 3
lea eax, [ebp + 0x5c]
push eax
call fcn.00430961
mov eax, dword [ebp + 0x5c]
cmp word [eax], bx
pop ecx
je 0x4087fd
mov dword [ebp + 0x28], eax
jmp 0x408972
cmp cx, 0x3c
je 0x40897a
cmp cx, 0x3e
je 0x40897a
inc eax
inc eax
mov dword [ebp + 0x5c], eax
mov cx, word [eax]
cmp cx, bx
jne 0x408961
sub eax, dword [ebp + 0x28]
lea ecx, [ebp - 0x18]
sar eax, 1
push eax
push dword [ebp + 0x28]
call fcn.004403e0
lea ecx, [ebp - 0xc]
call fcn.00435d62
mov ecx, dword [ebp + 0x54]
push edi
push ebx
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 0x28]
call fcn.0043e7f3
mov eax, dword [ebp - 0xc]
push eax
mov dword [ebp + 0x28], eax
call fcn.0040cd10
lea eax, [ebp + 0x28]
push eax
call fcn.00430961
test byte [ebp + 0x5b], 1
pop ecx
pop ecx
je 0x4089d2
cmp dword [ebp + 0x18], ebx
je 0x4089cf
push dword [ebp + 0x18]
call dword [fcn.004944a8]
mov dword [ebp + 0x18], ebx
test byte [ebp + 0x5b], 2
je 0x4089f5
cmp dword [ebp - 0x8c], ebx
je 0x4089ec
push dword [ebp - 0x8c]
call dword [fcn.004944a8]
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x28], ebx
push ebx
push ebx
push 4
lea eax, [ebp - 0x168]
push eax
push 7
push 0x40000000
push dword [ebp + 0x28]
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], ebx
call fcn.004045f9
mov edi, eax
cmp edi, ebx
jne 0x408a39
lea ecx, [ebp - 0xc]
call fcn.0043092f
lea ecx, [ebp - 0x18]
call fcn.0043092f
mov eax, dword [ebp + 0x5c]
jmp 0x4087fa
cmp esi, ebx
je 0x408a48
push 2
push ebx
push ebx
push edi
call dword [fcn.0049417c]
cmp byte [ebp + 0x5b], 1
jne 0x408a53
mov dword [ebp + 0x18], edi
jmp 0x408a21
cmp byte [ebp + 0x5b], 3
mov dword [ebp - 0x28], edi
je 0x408a4e
mov dword [ebp - 0x8c], edi
jmp 0x408a21
mov ecx, dword [ebp - 0x58]
cmp ecx, ebx
mov edx, 0x100
je 0x408a7f
lea eax, [ebp - 0x244]
or dword [eax + 0x2c], edx
mov dword [ebp - 0x1c], edi
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp + 0x18]
cmp ecx, ebx
je 0x408a95
lea eax, [ebp - 0x244]
or dword [eax + 0x2c], edx
mov dword [ebp - 0x1c], edi
mov dword [eax + 0x3c], ecx
mov ecx, dword [ebp - 0x28]
cmp ecx, ebx
je 0x408aab
lea eax, [ebp - 0x244]
or dword [eax + 0x2c], edx
mov dword [ebp - 0x1c], edi
mov dword [eax + 0x40], ecx
mov ecx, dword [ebp + 0x54]
push edi
push ebx
lea eax, [ebp - 0x108]
push eax
push dword [ebp + 0x48]
call fcn.0043e7f3
mov eax, dword [ebp - 0x108]
mov dword [ebp + 0x68], eax
push 6
pop edi
mov esi, 0x10000000
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x21
je 0x408b0a
cmp ax, 0x2a
je 0x408b0a
cmp ax, 0x40
jne 0x408b13
push 0x495700
lea ecx, [ebp - 0xdc]
call fcn.00440487
mov ecx, dword [ebp - 0xdc]
inc byte [ebp + 0x2f]
lea eax, [ebp - 0x244]
mov dword [eax + 8], ecx
mov dword [ebp - 0x14], esi
add dword [ebp + 0x68], 2
jmp 0x408ad0
cmp ax, 0x3d
jne 0x408b22
mov dword [ebp + 0x14], 1
jmp 0x408b0d
cmp ax, 0x24
jne 0x408b2e
mov byte [ebp + 0x51], 1
jmp 0x408b0d
cmp ax, 0x26
jne 0x408b3d
mov dword [ebp - 0x14], 3
jmp 0x408b0d
cmp ax, 0x5e
jne 0x408b48
mov dword [ebp - 0x14], edi
jmp 0x408b0d
cmp ax, 0x5f
je 0x408b43
cmp dword [ebp - 0x14], esi
je 0x408b77
cmp byte [ebp + 0x45], bl
je 0x408b77
push 0x4956e0
lea ecx, [ebp - 0xdc]
call fcn.00440487
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0x244]
mov dword [eax + 8], ecx
lea edi, [ebp - 0x244]
cmp dword [edi + 8], ebx
je 0x408b95
test byte [ebp + 0x2f], 1
je 0x408b95
call fcn.00403a2a
cmp eax, 1
jge 0x408b95
mov dword [edi + 8], ebx
mov eax, dword [ebp + 0x7c]
cmp eax, ebx
je 0x408bb0
or byte [edi + 0x2d], 1
mov dword [ebp + 0x14], ebx
mov byte [ebp + 0x77], bl
mov dword [ebp - 0x1c], 1
mov dword [edi + 0x3c], eax
cmp byte [ebp + 0x51], bl
je 0x408bd0
mov eax, dword [ebp - 0xd0]
cmp word [eax], bx
jne 0x408bd0
push 0x4956d4
lea ecx, [ebp - 0xd0]
call fcn.0044042b
cmp byte [ebp - 0x29], bl
je 0x408c21
push 0x5c
push dword [ebp + 0x68]
call dword [0x494570]
mov edi, eax
cmp edi, ebx
je 0x408bea
inc edi
inc edi
jmp 0x408bed
mov edi, dword [ebp + 0x68]
push dword [ebp + 0x68]
call dword [fcn.004944c4]
shl eax, 1
push eax
push dword [ebp + 0x68]
xor eax, eax
cmp dword [ebp + 0x14], ebx
push 1
setne al
push edi
push 0x495678
add eax, 0x80000001
push eax
call fcn.00431794
add esp, 0x18
mov ebx, eax
jmp 0x40ad9c
lea eax, [ebp + 0x68]
push eax
call fcn.00430961
cmp dword [ebp + 0x30], ebx
pop ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xec], ebx
je 0x408cd4
lea ecx, [ebp - 0xc]
mov byte [ebp + 0x51], bl
call fcn.00435d62
mov ecx, dword [ebp + 0x54]
push 0xffffffffffffffff
push ebx
push dword [ebp + 0x30]
call fcn.0041083d
cmp eax, ebx
je 0x408cc2
mov ecx, dword [eax]
cmp word [ecx], bx
je 0x408cc2
push eax
lea ecx, [ebp - 0xc]
call fcn.00440459
push dword [ebp + 0x68]
lea ecx, [ebp - 0xec]
call fcn.00440487
push dword [ebp - 0xf8]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xec]
push eax
push dword [ebp - 0xc]
call fcn.004070a2
mov edi, eax
mov eax, dword [ebp - 0xac]
mov dword [ebp + 0x38], eax
mov eax, dword [ebp - 0xec]
add esp, 0x14
lea ecx, [ebp - 0xc]
mov dword [ebp + 0x68], eax
call fcn.0043092f
cmp edi, ebx
je 0x408cd4
mov ebx, edi
jmp 0x40ad89
lea ecx, [ebp - 0xc]
call fcn.0043092f
mov ebx, 0x80070057
jmp 0x40ad89
mov eax, dword [ebp - 0xe8]
cmp word [eax], bx
je 0x408d25
push dword [ebp + 0x68]
call fcn.0040eec0
pop ecx
push eax
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x68], eax
call fcn.004403c3
push 0x495674
lea ecx, [ebp + 0x7c]
call fcn.00435dd0
push dword [ebp - 0xe8]
lea ecx, [ebp + 0x7c]
call fcn.00435dd0
mov ecx, dword [ebp + 0x54]
push ebx
push dword [ebp + 0x7c]
call fcn.00447be6
mov ebx, eax
lea ecx, [ebp + 0x7c]
jmp 0x40ad84
cmp byte [ebp - 0x31], bl
je 0x408e70
lea ecx, [ebp + 0x74]
call fcn.00435d62
push dword [ebp + 0x68]
mov dword [ebp + 0x7c], ebx
call fcn.0040eec0
pop ecx
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x68], eax
call fcn.00435d62
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x78]
push eax
push dword [ebp + 0x68]
mov dword [ebp + 0x34], ebx
call fcn.00473899
mov eax, dword [ebp + 0x34]
add esp, 0xc
cmp eax, ebx
jne 0x408d7a
lea ecx, [ebp + 0x78]
call fcn.0043092f
lea ecx, [ebp + 0x74]
jmp 0x408cc5
mov word [eax - 2], bx
call dword [0x494738]
push dword [ebp + 0x78]
lea ecx, [ebp + 0x30]
mov edi, eax
call fcn.004403c3
push dword [ebp + 0x34]
mov esi, dword [ebp + 0x30]
lea ecx, [ebp - 0x64]
call fcn.004403c3
push edi
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x7c]
push eax
push dword [ebp - 0x64]
push esi
call fcn.00405c21
add esp, 0x14
cmp dword [ebp + 0x7c], ebx
jle 0x408df4
mov eax, dword [ebp + 0x54]
mov eax, dword [eax + 0x28]
xor esi, esi
cmp eax, ebx
je 0x408dc8
mov esi, dword [eax + 0x18]
push esi
call dword [0x494798]
push ebx
push esi
push ebx
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push 0x128
push edi
call dword [0x49473c]
push ebx
push ebx
push ebx
push esi
call dword [fcn.004947f0]
push edi
call dword [0x494740]
cmp dword [ebp + 0x7c], ebx
jle 0x408e50
mov esi, dword [ebp + 0x74]
lea eax, [ebp + 0x7c]
mov dword [ebp + 0x7c], esi
call fcn.00435a49
mov eax, dword [ebp + 0x7c]
mov word [eax], bx
cmp word [esi], bx
je 0x408e50
push dword [ebp + 0x68]
lea ecx, [ebp + 0x6c]
call fcn.004403c3
push 0x495674
lea ecx, [ebp + 0x6c]
call fcn.00435dd0
push esi
lea ecx, [ebp + 0x6c]
call fcn.00435dd0
mov ecx, dword [ebp + 0x54]
push ebx
push dword [ebp + 0x6c]
call fcn.00447be6
lea ecx, [ebp + 0x6c]
mov ebx, eax
call fcn.0043092f
lea ecx, [ebp - 0x64]
call fcn.0043092f
lea ecx, [ebp + 0x30]
call fcn.0043092f
lea ecx, [ebp + 0x78]
call fcn.0043092f
lea ecx, [ebp + 0x74]
jmp 0x40ad84
push dword [ebp + 0x68]
lea ecx, [ebp - 0xcc]
call fcn.004403c3
cmp byte [ebp - 0x33], bl
je 0x408f33
push 0x495008
lea ecx, [ebp - 0xcc]
call fcn.00440487
push 1
lea eax, [ebp + 0x68]
push ebx
push eax
call fcn.00416853
add esp, 0xc
push eax
lea ecx, [ebp - 0xcc]
mov dword [ebp + 0x68], eax
call fcn.00435dd0
lea eax, [ebp - 0xac]
push eax
call fcn.00403bbc
pop ecx
mov dword [ebp + 0x38], eax
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10000000
mov eax, dword [ebp - 0xcc]
mov dword [ebp + 0x68], eax
je 0x408ede
cmp byte [ebp - 0x39], bl
je 0x408ee8
lea eax, [ebp - 0x244]
or byte [eax + 0x2c], 0x80
xor edi, edi
inc edi
cmp ecx, ebx
je 0x408efc
lea eax, [ebp - 0x244]
or dword [eax + 0x2c], edi
mov word [eax + 0x30], cx
mov al, byte [ebp + 0x2f]
and al, 3
cmp al, 3
je 0x408f0a
cmp byte [ebp - 0x32], bl
je 0x408f14
lea eax, [ebp - 0x244]
or byte [eax + 0x2f], 8
lea eax, [ebp - 0x244]
cmp dword [eax + 8], ebx
je 0x4091e0
cmp byte [ebp + 0x2f], bl
jle 0x4091e0
mov eax, edi
jmp 0x4091e2
cmp byte [ebp + 0xf], bl
je 0x408ec5
cmp dword [ebp - 0x14], esi
je 0x408ec5
mov eax, dword [ebp - 0xcc]
push ebx
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x68]
push ebx
push eax
mov dword [ebp - 0x40], ebx
call fcn.00416853
mov esi, eax
mov eax, dword [ebp + 0x68]
mov dword [ebp - 0x40], eax
push 3
lea eax, [ebp - 0x40]
push eax
push 0x495670
call fcn.00437ad0
add esp, 0x18
test al, al
jne 0x409037
push 7
lea eax, [ebp - 0x40]
push eax
push 0x495668
call fcn.00437ad0
add esp, 0xc
test al, al
jne 0x409037
cmp dword [0x4acbc8], ebx
jne 0x408fe3
push ebx
push 0x24
lea eax, [ebp - 0x574]
push eax
push ebx
mov word [ebp - 0x574], bx
call dword [fcn.00494540]
lea eax, [ebp - 0x574]
mov edi, 0x4acbc8
push eax
mov ecx, edi
call fcn.00440487
push 0x495644
mov ecx, edi
call fcn.00435dd0
push dword [0x4acbc8]
call dword [fcn.004944c4]
mov word [0x4acbac], ax
movsx eax, word [0x4acbac]
push eax
push dword [ebp - 0x40]
mov dword [ebp + 0x48], ebx
push dword [0x4acbc8]
call dword [fcn.00494578]
test eax, eax
jne 0x4090ac
movsx eax, word [0x4acbac]
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx + eax*2]
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x22
je 0x40902a
call fcn.0040bc38
test al, al
je 0x4090ac
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x40], ecx
call fcn.0040459d
pop ecx
push 2
lea eax, [ebp - 0x40]
push eax
push 0x495640
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x4090ac
mov eax, dword [ebp - 0x40]
cmp word [eax], 0x22
jne 0x409092
add eax, 2
mov dword [ebp + 0x7c], eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00430961
mov eax, dword [ebp + 0x7c]
cmp word [eax], 0x22
pop ecx
je 0x409087
push 4
lea eax, [ebp + 0x7c]
push eax
push 0x495638
call fcn.00437ad0
add esp, 0xc
test al, al
je 0x40908f
mov eax, dword [ebp + 0x7c]
mov dword [ebp - 0x40], eax
jmp 0x409092
mov eax, dword [ebp - 0x40]
push ebx
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x68]
push ebx
push eax
call fcn.00416853
add esp, 0xc
mov esi, eax
mov dword [ebp + 0x48], 1
mov eax, esi
sub eax, dword [ebp + 0x68]
and eax, 0xfffffffe
cmp eax, 8
jle 0x408ec5
push 4
push 0x49562c
lea edi, [esi - 8]
push edi
call dword [fcn.00494578]
test eax, eax
je 0x4090e8
push 4
push 0x495620
push edi
call dword [fcn.00494578]
test eax, eax
jne 0x408ec5
mov ax, word [esi]
push 0x64
pop ecx
push ebx
push 0x80
push 3
mov word [ebp - 0x60], ax
xor eax, eax
push ebx
lea edi, [ebp - 0x500]
rep stosd dword es:[edi], eax
push 7
push 0xc0000000
mov word [esi], bx
push dword [ebp + 0x68]
stosb byte es:[edi], al
lea ecx, [ebp + 0x1c]
lea edi, [ebp - 0x500]
mov byte [ebp + 0x7f], bl
mov dword [ebp + 0x1c], ebx
call fcn.004045f9
push ebx
lea eax, [ebp - 0xe0]
push eax
push 0x190
mov eax, edi
push eax
push dword [ebp + 0x1c]
call dword [fcn.004944a4]
push 0xb
mov eax, edi
push eax
push 0x495614
call dword [0x494574]
test eax, eax
jne 0x409186
mov al, byte [ebp - 0x500]
mov dword [ebp - 0x14], 0x10000000
jmp 0x40916e
cmp al, 0xd
je 0x409175
cmp al, 0xa
je 0x409175
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x409163
jmp 0x409175
inc edi
movsx ax, byte [edi]
push eax
call fcn.00402ba5
add esp, 4
test al, al
jne 0x409174
cmp dword [ebp + 0x48], ebx
jne 0x4091b6
cmp byte [edi], 0x3a
jne 0x40919b
cmp byte [edi + 1], 0x3a
jne 0x40919b
inc edi
inc edi
jmp 0x40919b
inc edi
cmp byte [edi], 0x40
je 0x40919a
push 7
push edi
push 0x49560c
call dword [0x494574]
test eax, eax
jne 0x4091b6
mov byte [ebp + 0x7f], 1
lea ecx, [ebp + 0x1c]
call fcn.00402b27
cmp byte [ebp + 0x7f], bl
mov ax, word [ebp - 0x60]
mov word [esi], ax
je 0x408ec5
push dword [ebp + 0x68]
mov ecx, dword [ebp + 0x54]
call fcn.00428650
mov ebx, eax
jmp 0x40ad7e
xor eax, eax
cmp eax, ebx
mov dword [ebp + 0x5c], ebx
mov dword [ebp - 0xa0], ebx
je 0x4091fc
mov dword [ebp - 0xa0], edi
mov dword [ebp + 0x5c], 4
push eax
lea ecx, [ebp - 0x60]
call fcn.00410482
cmp byte [0x4acd64], bl
mov esi, dword [ebp + 0x6c]
mov dword [ebp + 0x48], 0x4acf10
jne 0x409232
cmp esi, ebx
je 0x409220
cmp byte [esi + 8], bl
jne 0x409232
cmp byte [ebp - 0x49], bl
mov byte [ebp + 0x7f], bl
je 0x409236
cmp esi, ebx
je 0x409236
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x48], eax
mov byte [ebp + 0x7f], 1
push ebx
lea ecx, [ebp + 0x1c]
call fcn.004403c3
cmp byte [ebp + 0x7f], bl
mov dword [ebp + 0x28], ebx
je 0x4094c4
push 0x4ad684
call dword [fcn.004944b0]
push ebx
lea ecx, [ebp - 0x340]
call fcn.00410742
cmp esi, ebx
je 0x409275
push dword [ebp + 0x48]
lea ecx, [ebp - 0x340]
push esi
call fcn.00432cce
call dword [0x494178]
mov edi, eax
push 0x106
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0xb8], edi
call fcn.00435d80
mov eax, dword [ebp - 0x5c]
mov dword [ebp + 0x6c], eax
jmp 0x409310
mov dword [ebp + 0x7c], edi
jmp 0x4092a3
cmp ax, 0x3d
je 0x4092ad
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40929d
mov esi, edi
sub esi, dword [ebp + 0x7c]
sar esi, 1
cmp word [edi], bx
je 0x40930e
cmp word [edi + 2], bx
je 0x409309
cmp esi, 0x104
jg 0x409309
push esi
push dword [ebp + 0x7c]
push dword [ebp + 0x6c]
call fcn.00404561
mov eax, dword [ebp + 0x6c]
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x340]
mov word [eax + esi*2], bx
call fcn.0040cb92
test eax, eax
jne 0x409309
push 0xffffffffffffffff
push esi
lea eax, [edi + 2]
push eax
push dword [ebp + 0x7c]
lea ecx, [ebp - 0x340]
call fcn.004107a0
jmp 0x409309
inc edi
inc edi
cmp word [edi], bx
jne 0x409307
inc edi
inc edi
cmp word [edi], bx
jne 0x409298
push dword [ebp - 0xb8]
call dword [0x494174]
mov ecx, dword [ebp - 0x33c]
xor eax, eax
cmp ecx, ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp + 0x7c], ecx
mov dword [ebp + 0x6c], eax
jle 0x4093cd
jmp 0x40933f
mov eax, dword [ebp + 0x6c]
lea edi, [eax + 1]
cmp edi, dword [ebp + 0x7c]
mov dword [ebp + 0x34], eax
mov dword [ebp - 0x90], edi
jge 0x4093bb
mov eax, dword [ebp + 0x6c]
shl eax, 2
mov dword [ebp - 0xb8], eax
mov dword [ebp + 0x48], eax
mov eax, dword [ebp - 0x340]
mov ecx, dword [ebp + 0x48]
mov ecx, dword [ecx + eax]
mov ecx, dword [ecx]
mov esi, edi
shl esi, 2
mov eax, dword [esi + eax]
mov eax, dword [eax]
push ecx
push eax
call dword [fcn.00494498]
test eax, eax
jge 0x409389
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x48], esi
inc edi
cmp edi, dword [ebp + 0x7c]
jl 0x40935f
mov eax, dword [ebp + 0x34]
cmp eax, dword [ebp + 0x6c]
je 0x4093bb
mov edx, dword [ebp - 0x340]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp + 0x34]
add eax, edx
mov esi, dword [eax]
shl ecx, 2
mov edx, dword [ecx + edx]
mov dword [eax], edx
mov eax, dword [ebp - 0x340]
mov dword [ecx + eax], esi
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp + 0x7c]
mov dword [ebp + 0x6c], eax
jl 0x40933c
xor edi, edi
cmp dword [ebp + 0x7c], ebx
jle 0x40940b
mov eax, dword [ebp - 0x340]
mov eax, dword [eax + edi*4]
push dword [eax]
call dword [fcn.004944c4]
mov ecx, dword [ebp - 0x78]
lea esi, [ecx + eax + 1]
mov eax, dword [ebp - 0x340]
mov eax, dword [eax + edi*4]
push dword [eax + 4]
call dword [fcn.004944c4]
inc edi
cmp edi, dword [ebp + 0x7c]
lea eax, [esi + eax + 3]
mov dword [ebp - 0x78], eax
jl 0x4093d4
mov eax, dword [ebp - 0x78]
add eax, 4
push eax
lea ecx, [ebp + 0x1c]
call fcn.00435da9
mov edi, dword [ebp + 0x1c]
xor esi, esi
cmp dword [ebp + 0x7c], ebx
mov dword [ebp + 0x28], edi
jle 0x409490
mov eax, dword [ebp - 0x340]
mov eax, dword [eax + esi*4]
mov eax, dword [eax]
push eax
mov dword [ebp + 0x6c], eax
call dword [fcn.004944c4]
push eax
push dword [ebp + 0x6c]
mov dword [ebp + 0x34], eax
push edi
call fcn.00404561
mov eax, dword [ebp + 0x34]
lea edi, [edi + eax*2]
mov word [edi], 0x3d
mov eax, dword [ebp - 0x340]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 4]
add esp, 0xc
inc edi
push eax
inc edi
mov dword [ebp + 0x6c], eax
call dword [fcn.004944c4]
push eax
push dword [ebp + 0x6c]
mov dword [ebp + 0x34], eax
push edi
call fcn.00404561
mov eax, dword [ebp + 0x34]
lea edi, [edi + eax*2]
add esp, 0xc
mov word [edi], bx
inc edi
inc edi
inc esi
cmp esi, dword [ebp + 0x7c]
jl 0x409427
mov word [edi], bx
lea ecx, [ebp - 0x5c]
mov word [edi + 2], bx
call fcn.0043092f
push ebx
lea ecx, [ebp - 0x340]
call fcn.004282f1
lea ecx, [ebp - 0x300]
call fcn.0043092f
push 0x4ad684
call dword [fcn.004944ac]
xor edi, edi
inc edi
mov ecx, dword [ebp - 0x50]
xor al, al
cmp word [ecx], 0x40
jne 0x4094d3
inc al
jmp 0x4094dd
cmp dword [ebp - 0x88], ebx
je 0x4094dd
mov al, 2
cmp byte [ebp + 0x77], bl
je 0x4095d3
or byte [ebp + 0x77], 8
neg al
mov dword [ebp + 0x14], edi
sbb eax, eax
and eax, 0xfff01000
add eax, 0x100000
mov esi, eax
call fcn.00432a01
push eax
lea eax, [ebp - 0x1a0]
push 0x4955f4
push eax
call dword [0x494744]
add esp, 0xc
push ebx
push edi
push esi
push esi
push 0xff
push 6
push 0x40000003
lea eax, [ebp - 0x1a0]
push eax
call dword [0x494170]
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x409578
cmp eax, 0xffffffff
je 0x409578
push 0xffffffffffffffff
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp + 0x7c]
call fcn.004403f9
push ebx
push ebx
push 3
lea ecx, [ebp - 0x168]
push ecx
push 7
push 0xc0000000
push dword [eax]
lea ecx, [ebp - 0x38]
call fcn.004045f9
lea ecx, [ebp + 0x7c]
call fcn.0043092f
jmp 0x40957f
push edi
call dword [0x494478]
mov esi, dword [ebp - 0x38]
push ebx
push ebx
lea eax, [ebp + 0x6c]
push eax
push esi
mov dword [ebp + 0x6c], 2
call dword [0x49416c]
push ebx
push edi
push ebx
push ebx
call dword [0x494168]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x244]
or byte [eax + 0x2d], 1
test byte [ebp + 0x44], 2
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x1c], edi
jne 0x4095c7
cmp byte [ebp + 0x44], bl
jne 0x4095ca
mov dword [eax + 0x3c], esi
test byte [ebp + 0x44], 1
je 0x4095e9
mov dword [eax + 0x40], esi
cmp dword [ebp + 0x14], ebx
jne 0x4095e9
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [fcn.0049446c]
push eax
call dword [fcn.00494470]
push 0x4ad684
call dword [fcn.004944b0]
mov eax, dword [ebp + 0x28]
neg eax
sbb eax, eax
and eax, 0x400
or eax, dword [ebp + 0x10]
mov dword [ebp - 8], ebx
or dword [ebp + 0x5c], eax
cmp byte [ebp + 0x42], bl
mov dword [ebp + 8], ebx
mov dword [ebp - 0x28], ebx
je 0x409618
or dword [ebp + 0x5c], 4
cmp byte [ebp + 3], bl
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0x90], ebx
je 0x40963c
lea eax, [ebp - 0xb8]
push eax
call fcn.00403127
pop ecx
mov dword [ebp - 0x90], eax
cmp byte [ebp + 0x51], bl
mov esi, dword [fcn.00494488]
mov edi, dword [ebp + 0x38]
je 0x409652
cmp edi, ebx
je 0x40a222
cmp byte [ebp - 0x34], bl
je 0x4096c3
cmp word [ebp - 4], bx
jne 0x4096c3
cmp word [ebp + 0x20], bx
jne 0x4096c3
call fcn.00407011
push dword [ebp + 0x68]
mov dword [ebp - 0x110], eax
push edi
push dword [ebp + 0x24]
lea eax, [ebp - 8]
push eax
call fcn.00403956
mov esi, eax
push esi
call fcn.00403be0
add esp, 0x14
test eax, eax
jne 0x409885
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x244]
push eax
push esi
push dword [ebp + 0x28]
push dword [ebp + 0x5c]
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x68]
push edi
push dword [ebp - 0x110]
call dword [0x494038]
mov dword [ebp - 0x48], eax
jmp 0x40a053
mov eax, dword [ebp - 0xb4]
cmp word [eax], bx
je 0x409857
cmp word [ebp - 4], bx
jne 0x409857
cmp word [ebp + 0x20], bx
jne 0x409857
cmp byte [ebp + 0x47], bl
mov dword [ebp - 0x48], ebx
je 0x409799
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp + 0x6c]
call fcn.00402b8a
lea ecx, [ebp + 0x7c]
call fcn.00435c39
mov edi, dword [ebp - 0xa8]
push edi
call dword [fcn.004944c4]
shl eax, 1
push eax
push ebx
push edi
call fcn.0047fd70
lea eax, [ebp + 0x7c]
push eax
push dword [ebp + 0x6c]
call fcn.0043b3cf
add esp, 0x14
push 0xffffffffffffffff
mov edi, eax
neg edi
push 0xffffffffffffffff
push dword [ebp + 0x7c]
sbb edi, edi
lea ecx, [ebp - 0xa8]
neg edi
call fcn.00435e1f
mov eax, dword [ebp + 0x6c]
push eax
mov dword [ebp - 0xb0], eax
call esi
push eax
push ebx
push dword [ebp - 0xb0]
call fcn.0047fd70
mov eax, dword [ebp + 0x7c]
add esp, 0xc
push eax
mov dword [ebp - 0xb0], eax
call esi
push eax
push ebx
push dword [ebp - 0xb0]
call fcn.0047fd70
add esp, 0xc
lea ecx, [ebp + 0x7c]
call fcn.0043092f
lea ecx, [ebp + 0x6c]
call fcn.0043092f
cmp edi, ebx
je 0x409820
mov edi, dword [ebp - 0xb4]
mov esi, dword [0x494570]
push pe_nt_image_headers32
push edi
call esi
cmp eax, ebx
jne 0x4097b7
push 0x5c
push edi
call esi
cmp eax, ebx
je 0x4097c5
mov word [eax], bx
mov esi, dword [ebp - 0xb4]
lea edi, [eax + 2]
jmp 0x4097ca
mov esi, 0x4955f0
push dword [ebp + 0x68]
lea eax, [ebp - 8]
push dword [ebp + 0x38]
push dword [ebp + 0x24]
push eax
call fcn.00403956
push eax
mov dword [ebp + 0x24], eax
call fcn.00403be0
add esp, 0x14
test eax, eax
jne 0x409885
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x244]
push eax
push dword [ebp + 0x24]
push dword [ebp + 0x28]
push dword [ebp + 0x5c]
push dword [ebp + 0x68]
push dword [ebp + 0x38]
push 1
push dword [ebp - 0xa8]
push esi
push edi
call dword [0x494034]
mov dword [ebp - 0x48], eax
mov edi, dword [ebp - 0xa8]
mov esi, dword [fcn.004944c4]
push edi
call esi
shl eax, 1
push eax
push ebx
push edi
call fcn.0047fd70
mov edi, dword [ebp - 0xb4]
add esp, 0xc
push edi
call esi
shl eax, 1
push eax
push ebx
push edi
call fcn.0047fd70
add esp, 0xc
jmp 0x40a053
cmp byte [ebp + 0x46], bl
je 0x4098d4
cmp edi, ebx
je 0x409866
cmp word [edi], 0x26
je 0x4098d4
cmp word [ebp - 0x20], bx
jne 0x4098d4
cmp word [ebp - 4], bx
jne 0x4098d4
cmp word [ebp + 0x20], bx
jne 0x4098d4
push dword [ebp + 0x24]
call fcn.00403be0
test eax, eax
pop ecx
je 0x409891
mov dword [ebp + 0x7c], 3
jmp 0x40a301
push dword [ebp - 0x30]
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x244]
push eax
push dword [ebp + 0x24]
push dword [ebp + 0x28]
push dword [ebp + 0x5c]
push dword [ebp - 0x1c]
push dword [ebp + 0x68]
push dword [ebp - 0x138]
push dword [ebp - 0x13c]
call fcn.00476e93
xor ecx, ecx
add esp, 0x28
test eax, eax
setg cl
mov dword [ebp - 0x48], ecx
jmp 0x40a053
lea ecx, [ebp - 0x9c]
mov dword [ebp + 0x6c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x7c], edi
mov dword [ebp - 0x78], edi
call fcn.00435c39
cmp word [ebp + 0x20], bx
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x30], eax
lea eax, [ebp + 0x3c]
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp + 0x30], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x34], eax
je 0x4099b7
cmp word [edi], 0x22
jne 0x409928
add edi, 2
mov dword [ebp + 0x7c], edi
mov edi, dword [ebp + 0x7c]
push 0x3a
lea eax, [ebp + 0x7c]
call fcn.004754d0
mov eax, dword [ebp + 0x7c]
cmp eax, edi
pop ecx
je 0x409948
cmp word [eax - 2], 0x22
jne 0x409948
mov word [eax - 2], bx
cmp word [eax], 0x3a
jne 0x409950
inc eax
inc eax
cmp word [eax], 0x22
mov esi, eax
jne 0x40996b
lea esi, [eax + 2]
inc eax
inc eax
cmp word [eax], 0x22
jne 0x409966
mov word [eax], bx
cmp word [eax], bx
jne 0x40995b
cmp word [ebp - 4], bx
je 0x409989
push 0x3a
push esi
call dword [0x494570]
cmp eax, ebx
mov dword [ebp + 0x6c], eax
je 0x409989
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x6c], eax
push ebx
push ebx
push 0x10000
push esi
lea eax, [ebp - 0x9c]
push eax
push edi
call fcn.0042eced
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x94]
add esp, 0x18
add ecx, eax
mov dword [ebp + 0x30], ecx
jmp 0x409ba6
cmp edi, ebx
je 0x409a8a
cmp word [edi], 0x26
jne 0x409a71
mov ecx, dword [ebp + 0x54]
push 0xffffffffffffffff
push ebx
push edi
call fcn.0040cb92
mov esi, eax
cmp esi, ebx
jne 0x409a33
lea ecx, [ebp + 0x3c]
call fcn.0043092f
lea ecx, [ebp - 0x9c]
call fcn.0043092f
lea ecx, [ebp + 0x10]
call fcn.0043092f
lea ecx, [ebp - 0x28]
call fcn.0043092f
lea ecx, [ebp + 8]
call fcn.0043092f
lea ecx, [ebp - 8]
call fcn.0043092f
push 0x4ad684
call dword [fcn.004944ac]
lea ecx, [ebp + 0x1c]
call fcn.0043092f
lea ecx, [ebp - 0x60]
call fcn.004104b6
mov ebx, 0x80070057
jmp 0x40ad7e
mov eax, dword [esi + 0xc]
and eax, 0x3fffffff
mov dword [ebp - 0x98], eax
add eax, 0x10
push eax
lea ecx, [ebp - 0x9c]
call fcn.00435c7d
mov dword [ebp + 0x30], eax
mov eax, dword [ebp - 0x98]
inc eax
push eax
push dword [esi + 4]
push dword [ebp - 0x9c]
call fcn.004102e0
add esp, 0xc
jmp 0x409ba6
mov al, byte [ebp + 0x43]
neg al
sbb eax, eax
and eax, 2
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.0043d37b
pop ecx
pop ecx
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x38], ebx
mov dword [ebp - 0x130], ebx
jne 0x409aff
mov eax, dword [ebp + 0x68]
cmp eax, ebx
je 0x409aa5
cmp word [eax], 0x2a
jne 0x409aa5
inc dword [ebp - 0x20]
cmp byte [ebp + 0x46], bl
je 0x409aad
mov dword [ebp - 0x20], ebx
cmp word [ebp - 4], bx
je 0x40a06c
push 0x3a
push ebx
push dword [ebp - 0x78]
call dword [fcn.0049456c]
mov esi, eax
cmp esi, ebx
mov dword [ebp + 0x6c], esi
je 0x409af6
mov word [esi], bx
inc esi
inc esi
mov dword [ebp + 0x6c], esi
je 0x409af6
push dword [ebp - 0x78]
lea ecx, [ebp + 0x3c]
mov dword [ebp - 0xf0], 2
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0x34], ebx
call fcn.0044042b
jmp 0x409bd8
cmp dword [ebp + 0x38], ebx
je 0x40a06c
cmp word [ebp - 4], bx
mov edi, dword [ebp + 0x38]
je 0x409b21
push 0x3a
push ebx
push edi
call dword [fcn.0049456c]
cmp eax, ebx
mov dword [ebp + 0x6c], eax
je 0x409b21
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x6c], eax
add dword [ebp + 0x38], 2
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.0043d2c9
mov si, word [edi]
pop ecx
mov dword [ebp - 0xa4], eax
mov eax, dword [0x4ace04]
mov word [edi], bx
pop ecx
mov ecx, dword [ebp - 0x78]
mov dword [ebp + 0x48], 0x20
cmp word [ecx], bx
mov dword [ebp + 0x7c], ebx
je 0x409b67
push 2
push ebx
push ecx
call dword [0x494164]
mov dword [ebp + 0x7c], eax
cmp eax, ebx
mov word [edi], si
je 0x409b98
lea ecx, [ebp + 0x48]
push ecx
lea ecx, [ebp - 0x9c]
push ecx
push dword [ebp - 0xa4]
mov dword [ebp + 0x48], 0x20
push dword [ebp - 0x130]
push eax
call fcn.00410a1a
add esp, 0x14
mov dword [ebp + 0x30], eax
cmp dword [ebp + 0x7c], ebx
je 0x409ba6
push dword [ebp + 0x7c]
call dword [fcn.004944c0]
cmp dword [ebp - 0x98], ebx
je 0x40a038
cmp dword [ebp + 0x30], ebx
je 0x40a038
cmp word [ebp - 0x20], bx
mov dword [ebp - 0xf0], 1
ja 0x409bd5
cmp word [ebp - 4], bx
je 0x409f61
mov esi, dword [ebp + 0x6c]
cmp dword [ebp + 0x34], ebx
mov eax, dword [ebp - 0x124]
jne 0x409be8
mov eax, 0x494e9c
push eax
push 0x4955e0
push dword [ebp - 0x30]
lea eax, [ebp - 0x6c]
push dword [ebp + 0x34]
push eax
call fcn.004046c0
add esp, 0x14
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp + 8]
call fcn.00440459
mov edi, dword [ebp - 0x5c]
lea eax, [ebp + 0x3c]
mov dword [ebp + 0x34], eax
lea eax, [ebp - 0x5c]
cmp edi, ebx
mov dword [ebp - 0x30], eax
setne al
cmp al, bl
mov dword [ebp - 0xe0], ebx
je 0x409c52
push ebx
lea eax, [ebp - 0xe0]
push eax
push dword [ebp - 0x98]
push dword [ebp + 0x30]
push edi
call dword [fcn.00494160]
push edi
call fcn.00434051
pop ecx
push edi
call dword [fcn.004944a8]
jmp 0x409c5f
cmp dword [ebp - 0xf0], 1
jle 0x40a038
cmp esi, ebx
push dword [ebp - 0x6c]
mov byte [ebp + 0x7f], bl
je 0x409db9
mov eax, dword [ebp + 0x3c]
lea ecx, [ebp + 0x3c]
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x3c], ebx
call fcn.00440487
push 0x4955d4
lea ecx, [ebp + 0x3c]
call fcn.00435dd0
lea eax, [ebp + 0x3c]
push eax
lea ecx, [ebp + 8]
call fcn.00440459
cmp word [esi], 0x5c
je 0x409ca5
add esi, 0xfffffffe
mov word [esi], 0x5c
push ebx
push dword [ebp + 8]
call dword [fcn.004943c8]
cmp word [ebp - 4], 1
jne 0x409cfe
push 0x4955c0
lea ecx, [ebp + 0x20]
call fcn.004403c3
push dword [ebp + 0x48]
lea ecx, [ebp + 0x20]
call fcn.00435dd0
push 0x4955b8
lea ecx, [ebp + 0x20]
call fcn.00435dd0
push dword [ebp + 0x3c]
lea ecx, [ebp + 0x20]
call fcn.00435dd0
push dword [ebp + 0x20]
mov ecx, dword [ebp + 0x54]
call fcn.004239ad
lea ecx, [ebp + 0x20]
call fcn.0043092f
jmp 0x409d9a
cmp word [ebp - 4], 0x100
jne 0x409d9a
push 0xf
pop ecx
xor eax, eax
mov dword [ebp - 0x2a4], 0x44
mov dword [ebp - 0x2a0], ebx
lea edi, [ebp - 0x29c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0xc8], ebx
lea edi, [ebp - 0xc4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x2a4]
push eax
push dword [ebp + 8]
mov dword [ebp - 0x278], 0x80
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x4955b0
push dword [ebp + 0x48]
call dword [fcn.00494438]
push 0xffffffffffffffff
push dword [ebp - 0xc8]
call dword [fcn.0049443c]
cmp dword [ebp - 0xc8], ebx
je 0x409d86
push dword [ebp - 0xc8]
call dword [fcn.004944a8]
cmp dword [ebp - 0xc4], ebx
je 0x409d9a
push dword [ebp - 0xc4]
call dword [fcn.004944a8]
push esi
lea ecx, [ebp + 0x3c]
call fcn.00435dd0
lea eax, [ebp + 0x3c]
push eax
lea ecx, [ebp - 8]
call fcn.00440459
lea ecx, [ebp + 0x48]
call fcn.0043092f
jmp 0x409dc1
lea ecx, [ebp + 8]
call fcn.00440487
mov edx, dword [ebp + 0x68]
mov di, word [edx]
cmp di, 0x22
mov eax, edx
jne 0x409dd2
lea eax, [edx + 2]
cmp word [eax], 0x3f
jne 0x409e5f
lea esi, [eax + 2]
mov cx, word [esi]
cmp cx, 0x3f
jne 0x409df0
mov edi, dword [ebp + 0x3c]
lea esi, [eax + 4]
jmp 0x409e34
cmp cx, 0x5c
jne 0x409e5f
cmp di, 0x22
je 0x409e31
mov eax, dword [ebp + 8]
mov edi, 0x104
push edi
lea ecx, [ebp + 8]
mov dword [ebp + 0x48], eax
mov dword [ebp + 8], ebx
call fcn.00435da9
mov eax, dword [ebp + 8]
push edi
mov word [eax], bx
push dword [ebp + 8]
push dword [ebp + 0x48]
call dword [0x49415c]
lea ecx, [ebp + 0x48]
call fcn.0043092f
mov edx, dword [ebp + 0x68]
mov edi, dword [ebp + 8]
cmp word [edx], 0x22
jne 0x409e47
push 0x4953b4
lea ecx, [ebp - 0x28]
call fcn.00440487
push edi
lea ecx, [ebp - 0x28]
call fcn.00435dd0
push esi
lea ecx, [ebp - 0x28]
call fcn.00435dd0
mov edx, dword [ebp - 0x28]
mov dword [ebp + 0x68], edx
cmp dword [ebp + 0x6c], ebx
je 0x409eb6
cmp word [ebp - 0x20], bx
ja 0x409e8f
lea eax, [ebp - 0x9c]
push eax
push dword [ebp - 8]
mov dword [ebp + 0x6c], ebx
call fcn.00410567
cmp dword [ebp - 0x98], ebx
pop ecx
pop ecx
je 0x409eb3
mov byte [ebp + 0x7f], 1
jmp 0x409f32
cmp byte [ebp + 0x51], bl
je 0x409eb6
cmp dword [ebp + 0x24], ebx
jne 0x409e9f
mov eax, dword [ebp + 8]
mov dword [ebp + 0x24], eax
cmp word [ebp - 0x20], 2
mov dword [ebp + 0x6c], ebx
mov byte [ebp + 0x7f], 2
jb 0x40a207
jmp 0x409f32
mov edx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x6c]
cmp eax, ebx
mov esi, dword [ebp + 0x3c]
je 0x409ec7
cmp word [eax], bx
jne 0x409ec7
xor esi, esi
mov eax, dword [ebp + 0x24]
cmp eax, ebx
jne 0x409ed1
mov eax, dword [ebp + 8]
push edx
push dword [ebp + 0x3c]
push eax
lea eax, [ebp - 8]
push eax
call fcn.00403956
push eax
mov dword [ebp + 0x24], eax
call fcn.00403be0
add esp, 0x14
test eax, eax
jne 0x40a08c
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x244]
push eax
push dword [ebp + 0x24]
push dword [ebp + 0x28]
push dword [ebp + 0x5c]
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x68]
push esi
call fcn.0047f78b
add esp, 0x28
cmp byte [ebp - 0x20], 2
mov dword [ebp - 0x48], eax
jl 0x40a038
cmp word [ebp - 4], bx
jne 0x40a038
cmp byte [ebp + 0x7f], 1
jne 0x409f3d
or eax, 0xffffffff
jmp 0x409f46
lea eax, [ebp - 0x15c]
mov eax, dword [eax + 8]
push eax
push dword [ebp - 0x6c]
call fcn.00402cb1
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x6c]
pop ecx
pop ecx
mov word [eax], bx
jne 0x40a063
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x22
mov edi, eax
jne 0x409f6f
add eax, 2
cmp word [eax], 0x3f
mov dword [ebp + 0x48], ebx
jne 0x409f96
cmp word [eax + 2], 0x5c
jne 0x409f96
lea edi, [eax + 4]
cmp word [edi], 0x22
jne 0x409f96
dec edi
dec edi
mov ax, word [edi]
mov word [ebp + 0x48], ax
mov word [edi], 0x22
push dword [ebp + 0x24]
call fcn.00403be0
test eax, eax
pop ecx
jne 0x40a08c
push ebx
lea esi, [ebp - 0x15c]
push esi
lea eax, [ebp - 0x244]
push eax
push dword [ebp + 0x24]
push dword [ebp + 0x28]
push dword [ebp + 0x5c]
push dword [ebp - 0x1c]
push edi
push dword [ebp - 0x98]
push dword [ebp + 0x30]
call fcn.00476e93
add esp, 0x28
cmp word [ebp + 0x48], bx
mov dword [ebp - 0xa4], eax
je 0x409fe7
mov ax, word [ebp + 0x48]
mov word [edi], ax
cmp dword [ebp - 0xa4], ebx
jl 0x409bd5
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x409bd5
push esi
push ebx
push 0x400
call dword [fcn.004943e8]
cmp eax, ebx
je 0x409bd5
push eax
call dword [fcn.004944a8]
xor eax, eax
cmp dword [ebp - 0xa4], ebx
setg al
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
je 0x40a038
cmp word [eax], bx
jne 0x409f32
lea ecx, [ebp + 0x3c]
call fcn.0043092f
lea ecx, [ebp - 0x9c]
call fcn.0043092f
lea ecx, [ebp + 0x10]
call fcn.0043092f
cmp dword [ebp - 0x48], ebx
je 0x40a2f3
xor eax, eax
jmp 0x40a2f9
cmp byte [ebp + 0x7f], 2
jmp 0x40a201
push dword [ebp + 0x68]
lea eax, [ebp - 8]
push edi
push dword [ebp + 0x24]
push eax
call fcn.00403956
push eax
mov dword [ebp + 0x24], eax
call fcn.00403be0
add esp, 0x14
test eax, eax
je 0x40a0b3
lea ecx, [ebp + 0x3c]
mov dword [ebp + 0x7c], 3
call fcn.0043092f
lea ecx, [ebp - 0x9c]
call fcn.0043092f
lea ecx, [ebp + 0x10]
call fcn.0043092f
jmp 0x40a301
cmp byte [ebp + 0x77], bl
jne 0x40a135
push 0x5c
push ebx
push dword [ebp + 0x68]
call dword [fcn.0049456c]
mov esi, eax
cmp esi, ebx
je 0x40a0ce
inc esi
inc esi
jmp 0x40a0d1
mov esi, dword [ebp + 0x68]
push 8
push esi
push 0x4955a4
call fcn.004318b1
add esp, 0xc
test al, al
je 0x40a103
xor eax, eax
mov ax, word [esi + 0x10]
cmp ax, bx
je 0x40a0ff
cmp ax, 0x2e
je 0x40a0ff
call fcn.0040bc38
test al, al
je 0x40a103
mov byte [ebp + 0x2e], 1
push 8
push esi
push 0x49559c
call fcn.004318b1
add esp, 0xc
test al, al
je 0x40a135
xor eax, eax
mov ax, word [esi + 0xe]
cmp ax, bx
je 0x40a131
cmp ax, 0x2e
je 0x40a131
call fcn.0040bc38
test al, al
je 0x40a135
mov byte [ebp + 0x2e], 1
test byte [ebp + 0x53], 1
jne 0x40a140
cmp dword [ebp + 4], ebx
je 0x40a168
push dword [ebp + 0x68]
call dword [fcn.004944c4]
shl eax, 1
push eax
push dword [ebp + 0x68]
push 1
push 0x49558c
push 0x495568
push 0x80000002
call fcn.00431794
add esp, 0x18
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x244]
push eax
push dword [ebp + 0x24]
push dword [ebp + 0x28]
push dword [ebp + 0x5c]
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x68]
push edi
call fcn.0047f78b
mov esi, eax
add esp, 0x28
cmp esi, ebx
mov dword [ebp - 0x48], esi
jne 0x40a19c
mov byte [ebp + 0x2e], bl
cmp byte [ebp + 0x2e], bl
je 0x40a1c4
call fcn.00473a1b
test eax, eax
jg 0x40a1b1
mov dword [ebp + 0x14], 1
cmp dword [ebp + 0x14], ebx
jne 0x40a1c4
push 0x495544
call fcn.0047f7b4
pop ecx
mov dword [ebp + 0x14], eax
cmp esi, ebx
jne 0x40a038
push dword [ebp + 4]
push esi
push dword [ebp + 0x68]
push 0x495508
push 0x4acf10
call fcn.0040cde2
add esp, 0x14
cmp byte [ebp + 0x51], bl
jne 0x40a038
cmp edi, ebx
jne 0x40a038
call dword [fcn.0049447c]
cmp eax, 0xc1
jne 0x40a038
lea ecx, [ebp + 0x3c]
call fcn.0043092f
lea ecx, [ebp - 0x9c]
call fcn.0043092f
lea ecx, [ebp + 0x10]
call fcn.0043092f
push 0xd
xor eax, eax
pop ecx
lea edi, [ebp - 0x1b4]
mov dword [ebp - 0x1bc], 0x3c
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov dword [ebp - 0x1b8], 0x4540
jne 0x40a24d
push 5
pop eax
movzx eax, ax
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp + 0x24]
cmp eax, ebx
je 0x40a268
cmp word [eax], bx
je 0x40a268
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp + 0x68]
mov dword [ebp + 0x7c], ebx
mov dword [ebp + 0x6c], eax
mov dword [ebp - 0x1ac], eax
cmp word [eax], 0x22
jne 0x40a2c0
push 1
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.00416853
add esp, 0xc
push dword [ebp + 0x7c]
lea ecx, [ebp - 0x10c]
push dword [ebp + 0x6c]
mov esi, eax
call fcn.00435e88
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], esi
lea eax, [ebp - 0x1bc]
push eax
call dword [0x494538]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x184]
lea esi, [ebp - 0x15c]
push eax
mov dword [esi], eax
mov dword [ebp - 0x184], ebx
call dword [0x494158]
mov dword [esi + 8], eax
jmp 0x40a053
call dword [fcn.0049447c]
mov ecx, dword [ebp + 0x78]
mov dword [ecx], eax
mov dword [ebp + 0x7c], eax
lea ecx, [ebp - 0x18]
call fcn.00402b27
cmp dword [ebp - 0x90], ebx
je 0x40a31d
push dword [ebp - 0xb8]
call fcn.00403138
pop ecx
lea esi, [ebp - 0x80]
mov eax, dword [esi]
cmp eax, ebx
je 0x40a32d
push eax
call dword [fcn.004944a8]
mov eax, dword [ebp - 0x100]
mov dword [esi], ebx
cmp word [eax], bx
je 0x40a34f
push eax
lea eax, [ebp - 0x15c]
push dword [eax + 8]
push dword [ebp + 0x54]
call fcn.004380a5
add esp, 0xc
cmp byte [ebp + 0x42], bl
je 0x40a372
lea esi, [ebp - 0x15c]
cmp dword [esi], ebx
je 0x40a372
push ebx
push ebx
call dword [0x4943a8]
push dword [esi]
mov dword [ebp - 0x74], eax
push eax
call dword [0x4943ac]
push 0x4954f0
lea esi, [ebp - 0x15c]
push dword [esi + 8]
push dword [ebp + 0x54]
call fcn.004380a5
push 0x4954d8
push dword [esi + 0xc]
push dword [ebp + 0x54]
call fcn.004380a5
add esp, 0x18
cmp dword [ebp - 0xa0], ebx
je 0x40a3b4
push dword [esi]
push 4
push 0x4949b8
call fcn.0040f29f
add esp, 0xc
test byte [ebp + 0x5c], 4
je 0x40a3c8
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x40a3c8
push eax
call dword [0x4943b0]
lea ecx, [ebp - 0x28]
call fcn.0043092f
lea ecx, [ebp + 8]
call fcn.0043092f
lea ecx, [ebp - 8]
call fcn.0043092f
mov eax, 0x4ad684
push eax
call dword [fcn.004944ac]
lea ecx, [ebp + 0x1c]
call fcn.0043092f
lea ecx, [ebp - 0x60]
call fcn.004104b6
lea edi, [ebp - 0x38]
mov eax, dword [edi]
cmp eax, ebx
je 0x40a40c
push eax
call dword [fcn.004944a8]
mov dword [edi], ebx
lea edi, [ebp - 0x84]
mov eax, dword [edi]
cmp eax, ebx
je 0x40a421
push eax
call dword [fcn.004944a8]
mov dword [edi], ebx
lea edi, [ebp - 0x58]
mov eax, dword [edi]
cmp eax, ebx
je 0x40a433
push eax
call dword [fcn.004944a8]
mov dword [edi], ebx
lea edi, [ebp + 0x18]
mov eax, dword [edi]
cmp eax, ebx
je 0x40a445
push eax
call dword [fcn.004944a8]
mov dword [edi], ebx
lea edi, [ebp - 0x8c]
mov eax, dword [edi]
cmp eax, ebx
je 0x40a45a
push eax
call dword [fcn.004944a8]
cmp byte [ebp + 0x53], bl
mov dword [edi], ebx
je 0x40a49a
mov eax, dword [esi]
cmp eax, ebx
je 0x40a473
push 0x1388
push eax
call dword [0x494748]
test byte [ebp + 0x53], 1
je 0x40a481
push 1
call fcn.0040e3e1
pop ecx
cmp dword [ebp - 0xe4], ebx
je 0x40a49a
mov ecx, dword [ebp + 0x54]
push ebx
push ebx
push ebx
push dword [ebp - 0xe4]
call fcn.00426546
cmp dword [ebp - 0x48], ebx
je 0x40ac32
mov eax, dword [esi]
cmp eax, ebx
jne 0x40a4ac
mov dword [ebp + 0x14], ebx
mov ecx, dword [ebp - 0x70]
inc dword [ebp - 0x70]
mov dword [ebp + ecx*4 - 0x120], eax
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x40a4c7
push eax
call dword [fcn.004944a8]
cmp dword [ebp + 4], ebx
mov dword [esi + 4], ebx
je 0x40a4e5
mov ecx, dword [ebp + 0x54]
push ebx
push 0x3e8
call fcn.0040d358
push dword [esi]
call fcn.0040e1a4
pop ecx
cmp dword [ebp + 0x14], ebx
je 0x40ac48
mov al, byte [0x4ab290]
mov edi, 0x100000
push 0x100004
lea ecx, [ebp + 0x5c]
mov byte [ebp + 0x6f], al
mov dword [ebp + 4], edi
xor esi, esi
call fcn.00435c56
mov eax, dword [ebp - 0x50]
cmp word [eax], 0x40
lea ecx, [eax + 2]
mov dword [ebp + 0x20], eax
mov dword [ebp - 0xa4], ecx
mov byte [ebp + 0x7f], bl
jne 0x40a5cc
mov byte [ebp + 0x7f], 1
mov dword [ebp + 0x20], ecx
cmp byte [ebp - 0x41], bl
je 0x40a58b
mov ecx, dword [ebp + 0x54]
push ebx
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x20]
mov dword [ebp + 0x48], ebx
call fcn.0043dd01
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x48]
lea ecx, [ebp + 0x5c]
call fcn.00435cea
push dword [ebp + 0x5c]
call dword [fcn.00494488]
mov esi, eax
lea edi, [esi + 0x3ff]
and edi, 0xfffffc00
add edi, 0x100000
lea eax, [edi + 8]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp + 4], edi
call fcn.00435c7d
lea ecx, [ebp + 0x48]
call fcn.0043092f
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [fcn.0049446c]
push eax
call dword [fcn.00494470]
test byte [ebp + 0x77], 8
je 0x40a8ee
mov eax, dword [ebp - 0x50]
mov ax, word [eax]
cmp ax, 0x40
je 0x40a5e1
cmp byte [ebp - 0xd], bl
je 0x40a5e1
cmp ax, 0x26
je 0x40a5c6
mov eax, dword [ebp + 0x54]
test byte [eax + 9], 0xf
je 0x40a5e1
mov byte [ebp + 0x42], 1
jmp 0x40a5e4
cmp dword [ebp - 0x88], ebx
je 0x40a530
mov byte [ebp + 0x7f], 2
jmp 0x40a530
mov byte [ebp + 0x42], bl
push ebx
mov dword [ebp - 0xe0], ebx
call dword [fcn.0049441c]
lea eax, [ebp - 0x24]
mov edi, dword [eax]
lea eax, [ebp - 0x180]
push eax
push edi
call dword [0x494154]
cmp byte [ebp + 0x7f], bl
mov dword [ebp - 0xf0], esi
je 0x40a619
mov eax, dword [ebp + 4]
sub eax, esi
mov dword [ebp + 0x28], eax
jmp 0x40a620
mov dword [ebp + 0x28], 0x100000
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0xe0]
push eax
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x5c]
add eax, esi
push eax
push edi
call dword [fcn.004944a4]
call dword [fcn.004944b8]
cmp dword [ebp - 0xd4], ebx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x60], ebx
mov dword [ebp + 0x34], ebx
jg 0x40a662
mov dword [ebp - 0xd4], 0x3e8
lea ecx, [ebp - 0x5c]
mov byte [ebp + 0x47], bl
call fcn.00435d62
mov al, byte [0x4ab290]
cmp al, bl
mov byte [ebp + 0x6f], al
jle 0x40a8e1
mov ecx, dword [ebp + 0x54]
push 0x4ff
push dword [ebp - 0xd4]
lea eax, [ebp - 0x120]
push ebx
push eax
push dword [ebp - 0x70]
call fcn.0040ee25
cmp eax, ebx
mov dword [ebp - 0xb0], eax
jne 0x40a72f
lea eax, [ebp - 0x24]
mov edi, dword [eax]
push ebx
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp - 0x180]
push eax
push edi
mov dword [ebp + 0x30], ebx
call dword [0x494150]
cmp dword [ebp + 0x30], ebx
jle 0x40a6dd
mov eax, dword [ebp + 0x28]
cmp dword [ebp + 0x30], eax
jle 0x40a6d4
mov dword [ebp + 0x30], eax
add esi, dword [ebp + 0x30]
mov eax, dword [ebp + 0x5c]
mov byte [eax + esi], bl
lea eax, [esi + 0x100000]
cmp eax, dword [ebp + 4]
jl 0x40a6fe
add dword [ebp + 4], 0x100000
mov eax, dword [ebp + 4]
add eax, 4
push eax
lea ecx, [ebp + 0x5c]
call fcn.00435c7d
cmp byte [ebp + 0x7f], bl
je 0x40a70d
mov eax, dword [ebp + 4]
sub eax, esi
mov dword [ebp + 0x28], eax
jmp 0x40a714
mov dword [ebp + 0x28], 0x100000
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp + 0x30]
push eax
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x5c]
add eax, esi
push eax
push edi
call dword [fcn.004944a4]
cmp byte [ebp + 0x7f], bl
je 0x40a766
call dword [fcn.004944b8]
mov dword [ebp - 0x60], eax
sub eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0xd4]
jge 0x40a820
cmp esi, dword [ebp + 0x34]
je 0x40a8d8
cmp eax, 0x14
jl 0x40a8d8
jmp 0x40a820
mov eax, dword [ebp - 0x70]
cmp eax, 1
jle 0x40a792
dec eax
cmp eax, dword [ebp - 0xb0]
jne 0x40a792
cmp byte [ebp + 0x7f], bl
mov byte [ebp + 0x47], 1
je 0x40a8e1
cmp esi, dword [ebp + 0x34]
je 0x40a8e1
jmp 0x40a820
test byte [ebp + 0x77], 1
je 0x40a7b2
mov eax, dword [ebp - 0xf0]
jmp 0x40a7ae
mov ecx, dword [ebp + 0x5c]
cmp byte [eax + ecx], 0xa
je 0x40a8e1
inc eax
cmp eax, esi
jl 0x40a7a0
push 5
pop edi
dec edi
js 0x40a66d
cmp byte [0x4ab290], bl
jle 0x40a66d
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x260]
push eax
call dword [0x49475c]
test eax, eax
je 0x40a66d
cmp dword [ebp - 0x25c], 0x12
je 0x40a807
lea eax, [ebp - 0x260]
push eax
call dword [0x494760]
lea eax, [ebp - 0x260]
push eax
call dword [0x494764]
jmp 0x40a7b5
cmp byte [ebp + 0x7f], bl
mov byte [ebp + 0x6f], bl
mov byte [ebp + 0x47], 1
je 0x40a66d
cmp esi, dword [ebp + 0x34]
je 0x40a66d
cmp byte [ebp + 0x42], bl
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x34], esi
mov dword [ebp - 0xa0], ecx
jne 0x40a85c
cmp dword [ebp - 0x68], 0x4b0
je 0x40a84f
push dword [ebp - 0x68]
lea ecx, [ebp - 0x5c]
push esi
push eax
call fcn.00435e1f
mov eax, dword [ebp - 0x5c]
jmp 0x40a85c
mov word [eax + esi + 2], bx
mov ecx, dword [ebp + 0x5c]
mov word [ecx + esi + 2], bx
cmp byte [ebp + 0x7f], 1
jne 0x40a879
mov ecx, dword [ebp + 0x54]
push eax
push eax
push 0x4949a4
push dword [ebp + 0x20]
push dword [ebp + 0x20]
call fcn.004331b7
jmp 0x40a8a3
cmp byte [ebp + 0x42], bl
je 0x40a897
push ebx
lea eax, [ebp + 0x5c]
push eax
push esi
push dword [ebp + 0x5c]
push dword [ebp - 0x50]
push dword [ebp + 0x54]
call fcn.00445562
add esp, 0x18
jmp 0x40a8a3
mov ecx, dword [ebp + 0x54]
push eax
push dword [ebp + 0x20]
call fcn.00435749
cmp dword [ebp - 0x88], ebx
je 0x40a8d8
push dword [ebp - 0x88]
lea ecx, [ebp - 0x90]
call fcn.004403c3
mov ecx, dword [ebp + 0x54]
push ebx
push ebx
push ebx
push dword [ebp - 0x90]
call fcn.00426546
lea ecx, [ebp - 0x90]
call fcn.0043092f
cmp byte [ebp + 0x47], bl
je 0x40a766
lea ecx, [ebp - 0x5c]
call fcn.0043092f
jmp 0x40a9d4
cmp dword [ebp + 0x14], 0xffffff9c
je 0x40a9d4
jmp 0x40a9c4
mov ecx, dword [ebp + 0x54]
push 0x4ff
push 0x3e8
push ebx
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0x70]
call fcn.0040ee25
mov ecx, dword [ebp - 0x70]
dec ecx
cmp ecx, eax
je 0x40a9d4
cmp dword [ebp - 0x70], 1
jle 0x40a9bc
cmp eax, ebx
jne 0x40a9bc
lea eax, [esi + 0x100000]
cmp eax, edi
jl 0x40a954
add edi, 0x100000
lea eax, [edi + 4]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00435c7d
push ebx
lea eax, [ebp + 0x7c]
push eax
mov eax, dword [ebp + 0x5c]
push 1
add eax, esi
push eax
lea eax, [ebp - 0x24]
push dword [eax]
mov dword [ebp + 0x7c], ebx
call dword [fcn.004944a4]
test eax, eax
je 0x40a9bc
cmp dword [ebp + 0x7c], ebx
jbe 0x40a9bc
add esi, dword [ebp + 0x7c]
mov eax, dword [ebp + 0x5c]
mov byte [eax + esi], bl
jmp 0x40a9bc
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x19c]
push eax
call dword [0x49475c]
test eax, eax
je 0x40a9c4
cmp dword [ebp - 0x198], 0x12
je 0x40a9c4
lea eax, [ebp - 0x19c]
push eax
call dword [0x494760]
lea eax, [ebp - 0x19c]
push eax
call dword [0x494764]
cmp byte [0x4ab290], bl
jg 0x40a983
mov al, byte [0x4ab290]
cmp al, bl
mov byte [ebp + 0x6f], al
jg 0x40a8fd
cmp dword [ebp + 0x14], 0xffffff9c
mov eax, dword [ebp + 0x5c]
mov byte [eax + esi + 2], bl
mov eax, dword [ebp + 0x5c]
mov byte [eax + esi + 1], bl
mov eax, dword [ebp + 0x5c]
mov byte [eax + esi], bl
mov dword [ebp - 0x30], ebx
je 0x40aa05
cmp byte [ebp + 0x6f], bl
jle 0x40aa05
push ebx
lea eax, [ebp - 0x15c]
push dword [eax]
call dword [0x494428]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x15c]
push dword [eax]
call dword [0x4943b4]
cmp byte [ebp + 0x77], bl
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x78]
mov dword [ecx], eax
je 0x40abe4
mov eax, dword [ebp - 0x50]
mov ax, word [eax]
xor edi, edi
cmp ax, 0x40
je 0x40aa50
cmp byte [ebp - 0xd], bl
je 0x40aa50
cmp ax, 0x26
je 0x40aa4a
mov eax, dword [ebp + 0x54]
test byte [eax + 9], 0xf
je 0x40aa50
mov byte [ebp + 0x7b], 1
jmp 0x40aa53
mov byte [ebp + 0x7b], bl
lea ecx, [ebp - 0xc4]
call fcn.00435c39
cmp byte [ebp + 0x7b], bl
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], ebx
jne 0x40ab7a
cmp byte [ebp + 0x52], 2
jne 0x40aa85
mov eax, dword [ebp + 0x5c]
mov word [eax + esi], bx
mov edi, dword [ebp + 0x5c]
jmp 0x40aae7
cmp byte [ebp + 0x52], 1
lea ecx, [ebp - 0xc4]
jne 0x40aa9f
push dword [ebp - 0x68]
push esi
push dword [ebp + 0x5c]
call fcn.00435e1f
jmp 0x40aaeb
lea eax, [esi + 0x18]
push eax
call fcn.00435da9
lea eax, [esi + 1]
push eax
push dword [ebp + 0x5c]
mov dword [ebp - 0xbc], esi
push dword [ebp - 0xc4]
mov dword [ebp - 0xc0], esi
call fcn.004102e0
mov eax, dword [ebp - 0xc4]
push 0x10
add eax, esi
push ebx
push eax
call fcn.0047fd70
lea eax, [ebp - 0xc4]
push ebx
push eax
call fcn.004774cc
add esp, 0x20
cmp edi, ebx
jne 0x40aaf1
mov edi, dword [ebp - 0xc4]
test byte [ebp + 0x77], 4
je 0x40ab22
push edi
mov dword [ebp + 0x74], edi
call dword [fcn.004944c4]
lea edi, [edi + eax*2 - 2]
jmp 0x40ab1b
mov ax, word [edi]
cmp ax, 0xd
je 0x40ab16
cmp ax, 0xa
jne 0x40ab7a
mov word [edi], bx
dec edi
dec edi
cmp edi, dword [ebp + 0x74]
jae 0x40ab07
jmp 0x40ab7a
test byte [ebp + 0x77], 1
jne 0x40ab41
test byte [ebp + 0x77], 2
je 0x40ab7a
jmp 0x40ab72
mov ax, word [edi]
cmp ax, 0xd
je 0x40ab46
cmp ax, 0xa
je 0x40ab46
inc edi
inc edi
cmp word [edi], bx
jne 0x40ab30
mov word [edi], bx
jmp 0x40ab7a
cmp ax, 0xd
je 0x40ab5b
cmp ax, 0xa
je 0x40ab5b
inc edi
inc edi
jmp 0x40ab72
push edi
call dword [fcn.004944c4]
shl eax, 1
push eax
lea eax, [edi + 2]
push eax
push edi
call fcn.00410296
add esp, 0xc
mov ax, word [edi]
cmp ax, bx
jne 0x40ab4b
mov eax, dword [ebp - 0x50]
cmp word [eax], 0x40
jne 0x40abaa
push dword [ebp - 0xc4]
mov ecx, dword [ebp + 0x54]
push dword [ebp - 0xc4]
push 0x4949a4
push dword [ebp - 0xa4]
push dword [ebp - 0xa4]
call fcn.004331b7
jmp 0x40abd6
cmp byte [ebp + 0x7b], bl
je 0x40abc7
push 1
lea ecx, [ebp + 0x5c]
push ecx
push esi
push dword [ebp + 0x5c]
push eax
push dword [ebp + 0x54]
call fcn.00445562
add esp, 0x18
jmp 0x40abd6
push dword [ebp - 0xc4]
mov ecx, dword [ebp + 0x54]
push eax
call fcn.00435749
lea ecx, [ebp - 0xc4]
call fcn.0043092f
mov eax, dword [ebp - 0x30]
push eax
mov dword [ebp + 0x7c], eax
lea eax, [ebp - 0x2a0]
push 0x4954d0
push eax
mov word [ebp - 0x2a0], bx
call dword [fcn.0049477c]
mov ecx, dword [ebp + 0x54]
add esp, 0xc
lea eax, [ebp - 0x2a0]
push eax
push 0x4954b4
call fcn.00435749
cmp dword [ebp - 0x74], ebx
je 0x40ac28
push 1
push dword [ebp - 0x74]
call dword [0x4943b8]
lea ecx, [ebp + 0x5c]
call fcn.0043092f
jmp 0x40ac48
mov eax, dword [ebp - 0x50]
cmp word [eax], bx
je 0x40ac48
mov ecx, dword [ebp + 0x54]
push 0x4949a4
push eax
call fcn.00435749
lea esi, [ebp - 0x15c]
mov eax, dword [esi]
cmp eax, ebx
je 0x40ac5b
push eax
call dword [fcn.004944a8]
cmp byte [ebp + 0x2e], bl
mov dword [esi], ebx
je 0x40acdd
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x40acdd
cmp byte [0x4acc01], bl
jne 0x40acdd
cmp dword [ebp + 0x14], ebx
mov byte [0x4acc01], 1
je 0x40aca4
push 0x495498
call fcn.0040eb21
test eax, eax
pop ecx
jne 0x40ac9b
push 0x49548c
push dword [ebp + 0x54]
call fcn.0040ec17
pop ecx
pop ecx
push ebx
call fcn.0040d5a0
pop ecx
jmp 0x40acdd
push eax
lea eax, [ebp - 0x36c]
push 0x495428
push eax
call dword [fcn.0049477c]
lea eax, [ebp - 0x36c]
push eax
push 0x4953f8
push dword [ebp + 0x54]
call fcn.0040cde2
mov ecx, dword [ebp + 0x54]
add esp, 0x18
lea eax, [ebp - 0x36c]
push eax
call fcn.00402c2f
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
je 0x40acf4
cmp word [eax], bx
je 0x40acf4
push dword [esi + 8]
push eax
call fcn.00402cb1
pop ecx
pop ecx
mov esi, dword [fcn.004944a8]
lea edi, [ebp - 0x58]
mov eax, dword [edi]
cmp eax, ebx
je 0x40ad06
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp + 0x18]
mov eax, dword [edi]
cmp eax, ebx
je 0x40ad14
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x8c]
cmp dword [edi], ebx
je 0x40ad23
push ebx
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x38]
mov eax, dword [edi]
cmp eax, ebx
je 0x40ad31
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x24]
mov eax, dword [edi]
cmp eax, ebx
je 0x40ad3f
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x7c]
mov eax, dword [edi]
cmp eax, ebx
je 0x40ad4d
push eax
call esi
cmp dword [ebp - 0x170], ebx
mov dword [edi], ebx
je 0x40ad5f
push dword [ebp - 0x170]
call esi
lea edi, [ebp - 0x15c]
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40ad6f
push eax
call esi
mov ecx, dword [ebp + 0x54]
push ebx
mov dword [edi + 4], ebx
call fcn.00447ee8
mov ebx, dword [ebp + 0x7c]
lea ecx, [ebp - 0xcc]
call fcn.0043092f
lea ecx, [ebp - 0xec]
call fcn.0043092f
lea ecx, [ebp - 0x18]
call fcn.00402b27
lea ecx, [ebp - 0x108]
call fcn.0043092f
lea ecx, [ebp - 0x80]
call fcn.00402b27
lea ecx, [ebp - 0x84]
call fcn.00402b27
lea ecx, [ebp - 0x8c]
call fcn.00402b27
lea ecx, [ebp + 0x18]
call fcn.00402b27
lea ecx, [ebp - 0x58]
call fcn.00402b27
lea ecx, [ebp - 0x7c]
call fcn.00402b27
lea ecx, [ebp - 0x38]
call fcn.00402b27
lea ecx, [ebp - 0x24]
call fcn.00402b27
lea ecx, [ebp - 0x6c]
call fcn.0043092f
lea ecx, [ebp - 0x13c]
call fcn.0043092f
lea ecx, [ebp - 0xd8]
call fcn.0043092f
lea ecx, [ebp - 0x54]
call fcn.0043092f
lea ecx, [ebp - 0x10c]
call fcn.0043092f
lea ecx, [ebp - 0xd0]
call fcn.0043092f
lea ecx, [ebp - 0x100]
call fcn.0043092f
lea ecx, [ebp - 0xac]
call fcn.0043092f
lea ecx, [ebp - 0x74]
call fcn.00402b27
lea ecx, [ebp - 0x110]
call fcn.00402b27
lea ecx, [ebp - 0x12c]
call fcn.0043092f
lea ecx, [ebp - 0xa8]
call fcn.0043092f
lea ecx, [ebp - 0xb4]
call fcn.0043092f
lea ecx, [ebp - 0x50]
call fcn.0043092f
lea ecx, [ebp - 0xf8]
call fcn.0043092f
lea ecx, [ebp - 0xe8]
call fcn.0043092f
lea ecx, [ebp - 0xf4]
call fcn.0043092f
lea ecx, [ebp - 0x104]
call fcn.0043092f
lea ecx, [ebp - 0xe4]
call fcn.0043092f
lea ecx, [ebp - 0xdc]
call fcn.0043092f
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x60
leave
ret 0x18