Function at 0x100289f6
Capabilities:
Accept command line arguments
Check http status code
Set environment variable

Disassembly:
mov eax, 0x10059b23
call fcn.10058764
sub esp, 0x524
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x74], ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1a8], ebx
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x1a0], ebx
push 3
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 1
call fcn.1000adae
mov byte [ebp - 4], 2
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x18], 0x4868fdad
mov dword [ebp - 0x7c], 0x5950cfdf
mov dword [ebp - 0x6c], 0xd42ad01
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x16c], 0x59c3f908
mov dword [ebp - 0x20], 0x3d65
cmp dword [ebp - 0x20], 0x4132
jle 0x10028b13
push 0x532
push 0x15d8
push 0x26d8
push 0x19fa
push 0x4a1
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawStateW]
xor esi, esi
mov edi, ebx
inc esi
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x400]
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10028ad9
mov eax, dword [eax]
push eax
call fcn.10040afc
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x400]
call fcn.1000b217
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x6fe8
jl 0x10028abd
inc edi
cmp edi, 0x49c5
jl 0x10028ab8
push 0x1680
push ebx
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
jmp 0x10028b16
xor esi, esi
inc esi
mov dword [ebp - 0x194], 0xffffffff
cmp dword [ebp - 0x20], 0x3b05
jge 0x10028b34
push str.qmbigds_cvtxuhvb_loyeqx_wlpkiqskg_pvowa
call fcn.10040afc
pop ecx
push ecx
push esi
push ecx
push ecx
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 2
push eax
push ecx
push ecx
mov edx, 0x1096
lea ecx, [ebp - 0x2b0]
call fcn.10027e32
mov eax, dword [ebp - 0x24]
add esp, 0x1c
mov ecx, dword [ebp - 0x1f0]
cmp eax, dword [ecx]
je 0x10028b6f
mov eax, ebx
cmp dword [ecx + 8], ebx
je 0x10028b71
mov eax, esi
mov ecx, dword [ebp - 0x24]
push 0xfffffffffffffff6
pop edi
cmp edi, eax
sbb eax, eax
inc eax
cmp eax, 0xcfd66c4a
sbb eax, eax
xor edx, edx
inc eax
sub ecx, eax
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x24]
neg eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x1f0]
cmp ecx, dword [eax]
setl dl
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cmp esi, eax
mov eax, dword [ebp - 0x1f0]
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [eax + 4]
mov eax, dword [ebp - 0x24]
cmp edx, eax
lea eax, [ebp - 0x16c]
push eax
setl cl
lea eax, [ebp - 0x6c]
push ecx
push eax
push ecx
push ecx
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x194], ecx
push eax
lea eax, [ebp - 0x194]
mov edx, 0x39a1
push eax
push ecx
xor cl, cl
call fcn.10027d86
add esp, 0x20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1f0]
call fcn.1000ae31
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x24], ebx
jmp 0x10028ca2
mov dword [ebp - 0x18], 0x164c
cmp dword [ebp - 0x18], ebx
jne 0x10028c7b
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
test eax, eax
mov eax, dword [ebp - 0x24]
sets cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x24]
jne 0x10028c7b
mov edx, ebx
jmp 0x10028c7e
xor edx, edx
inc edx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setne cl
cmp ecx, 0xcf041577
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setne cl
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x10
jl 0x10028c39
mov dword [ebp - 0x1c], 0x78b3
cmp dword [ebp - 0x1c], 0x7b2f
jle 0x10028d42
push 0xb9f
push ebx
push 0x19cc
push ebx
push 0x232f
push 0x22e3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov dword [ebp - 0x18], ebx
mov ecx, esi
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x20]
mov esi, edi
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x24]
sar esi, cl
mov eax, esi
mov ecx, 0x10073a98
or eax, edi
or eax, ebx
cdq
push edx
push eax
call fcn.1000ab96
inc edi
cmp edi, 0x6e0b
jl 0x10028cf7
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x18], esi
push 0
pop ebx
cmp esi, 0x43a
jl 0x10028ce5
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x1ba7
jl 0x10028ce0
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x78e9
jl 0x10028cdb
mov byte [ebp - 0x3f], bl
mov byte [ebp - 4], 5
cmp dword [ebp - 0x1c], 0x76f4
jge 0x10028d61
mov edx, str.wfl_psfwp_fdwo_kkviw
mov ecx, 0x10073a98
call fcn.1000d257
xor eax, eax
inc eax
push eax
push 0xdca
push 0x212a
push 0x23c1
push ebx
mov dl, al
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x3f]
call fcn.10028035
add esp, 0x14
mov dword [ebp - 0xac], 0x2d082f06
mov byte [ebp - 0xa8], bl
mov dword [ebp - 0xa7], 0x92b032d
mov dword [ebp - 0xa3], 0xb15011c
push 0x43
pop eax
push 2
mov dword [ebp - 0x9f], 0x7030c0e
mov dword [ebp - 0x9b], 0xa420503
mov dword [ebp - 0x97], 0x217045f
mov byte [ebp - 0x93], 6
mov word [ebp - 0x360], ax
pop esi
movzx eax, byte [ebp + esi - 0xae]
movzx ecx, byte [ebp + esi - 0xab]
movzx eax, word [ebp + eax*2 - 0x36c]
mov edx, eax
and eax, ecx
or edx, ecx
sub edx, eax
movzx eax, byte [ebp + esi - 0xac]
add esi, 2
mov word [ebp + eax*2 - 0x36c], dx
cmp esi, 0x1a
jb 0x10028ddb
xor eax, eax
mov word [ebp - 0x8f], 0x4b5
mov word [ebp - 0x352], ax
mov ecx, ebx
inc eax
mov byte [ebp - 0x8d], 0xe
push 0x6f
mov byte [ebp - 0x90], al
mov byte [ebp - 0x8c], al
pop eax
push 2
mov dword [ebp - 0x8b], 0x74c029c
mov dword [ebp - 0x87], 0x30d0648
mov word [ebp - 0x83], 0x50b
mov byte [ebp - 0x81], bl
mov byte [ebp - 0x80], bl
mov byte [ebp - 0x7f], 0xd
mov word [ebp - 0x282], ax
pop esi
mov dword [ebp - 0x168], ecx
cmp esi, 4
jne 0x10028eac
push 2
pop ecx
mov dword [ebp - 0x168], ecx
jmp 0x10028ef8
movzx edx, byte [ebp + esi - 0x8f]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x92]
movzx ecx, word [ebp + eax*2 - 0x284]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x90]
add ecx, edx
push ecx
push 1
mov word [ebp + eax*2 - 0x284], cx
lea ecx, [ebp - 0x168]
call fcn.10027f20
pop ecx
pop ecx
mov ecx, dword [ebp - 0x168]
add esi, 2
cmp esi, 0x12
jb 0x10028e78
xor eax, eax
mov dword [ebp - 0x2e8], 7
mov word [ebp - 0x274], ax
lea ecx, [ebp - 0x2fc]
mov word [ebp - 0x2fc], ax
xor ebx, ebx
lea eax, [ebp - 0x284]
mov dword [ebp - 0x2ec], ebx
push eax
call fcn.1000b303
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2e0]
xor eax, eax
mov dword [ebp - 0x2cc], 7
mov word [ebp - 0x2e0], ax
lea eax, [ebp - 0x36c]
push eax
mov dword [ebp - 0x2d0], ebx
call fcn.1000b303
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x3e8]
call fcn.10023e18
lea eax, [ebp - 0x2fc]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.10023e18
push ebx
push 1
lea ecx, [ebp - 0x2e0]
call fcn.1000b425
push ebx
push 1
lea ecx, [ebp - 0x2fc]
call fcn.1000b425
mov byte [ebp - 4], 8
lea eax, [ebp - 0x3b8]
push dword [ebp + 0x10]
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x188], ebx
push eax
lea eax, [ebp - 0x3e8]
mov dword [ebp - 0x184], ebx
push eax
push ebx
mov dword [ebp - 0x180], ebx
call fcn.1002aca0
push fcn.10023f16
push 1
push 0x30
lea eax, [ebp - 0x3e8]
mov byte [ebp - 4], 0xa
push eax
call fcn.1004089b
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x28], 0x6a65
cmp dword [ebp - 0x28], 0x6db1
jle 0x100290a5
push 0x215f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov dword [ebp - 0x14], ebx
lea eax, [esi + edi]
mov dword [ebp - 0x18], 0x850
mov edi, dword [ebp - 0x20]
mov esi, eax
mov dword [ebp - 0x24], eax
mov eax, esi
lea ecx, [ebp - 0x448]
and eax, edi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002905e
mov eax, dword [eax]
push eax
call fcn.10040afc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x448]
call fcn.1000b217
dec esi
dec dword [ebp - 0x18]
jne 0x10029042
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x5283
jl 0x10029030
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0xcfd
jl 0x1002902b
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x3d19
jl 0x10029026
mov dword [ebp - 0x18c], 0x985a9576
cmp dword [ebp - 0x28], 0x688b
jge 0x100290c3
push str.qmco_faissyu_qfw_ojhpgngmd_bogro_dbehjv_vhnycvk
call fcn.10040afc
pop ecx
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x198], 0x5bbbdebf
push 2
call fcn.1000adae
xor eax, eax
mov byte [ebp - 4], 0xd
inc eax
lea ecx, [ebp - 0x300]
push eax
push 0x5132
push ecx
lea ecx, [ebp - 0x248]
mov dl, al
push ecx
push eax
mov ecx, 0x65ea
call fcn.10028035
add esp, 0x14
lea eax, [ebp - 0x4c]
mov edx, 0x52dc
push ebx
push eax
lea eax, [ebp - 0x198]
push eax
push 0x381
push ecx
lea eax, [ebp - 0x18c]
push eax
call fcn.10028938
add esp, 0x18
mov dword [ebp - 0x4c], ebx
jmp 0x1002917a
push ecx
push ecx
push ecx
push eax
push 0x5828
push ecx
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x18c]
call fcn.10028200
add esp, 0x18
lea eax, [ebp - 0x248]
push ebx
push 0x280d
push ecx
push ecx
push eax
sub esp, 0xc
lea ecx, [ebp - 0x198]
push 0x326e
call fcn.10027b77
add esp, 0x24
inc dword [ebp - 0x4c]
xor eax, eax
lea ecx, [ebp - 0x248]
inc eax
cmp dword [ebp - 0x4c], eax
jle 0x10029137
mov byte [ebp - 4], 0xa
call fcn.1000ae31
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x36c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x3d]
mov dword [ebp - 0x1c], 0xffffffff
push 0x50e0
mov byte [ebp - 0x3d], bl
xor cl, cl
push eax
call fcn.100289a5
pop ecx
pop ecx
mov dword [ebp - 0x1c], ebx
jmp 0x100291fc
push 0x3e08
lea eax, [ebp - 0x46]
mov byte [ebp - 0x46], bl
push eax
push 0x6844
push 0x7e4e
push 0x1a72
push 0x1e24
push 0x3800
xor eax, eax
xor cl, cl
inc eax
push 0x2980
push eax
mov dl, al
call fcn.10028566
add esp, 0x24
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffe
jl 0x100291bf
xor eax, eax
lea edi, [ebp - 0x284]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x28], 0xa362
mov dword [ebp - 0x230], 0xffffffff
mov dword [ebp - 0x22c], 0xffffffff
mov dword [ebp - 0x228], 0xffffffff
mov dword [ebp - 0x224], 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x28], ebx
jmp 0x10029270
mov dword [ebp - 0x18], 0xda62
mov dword [ebp - 0x20], 0xfffffff9
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 9
jg 0x1002924d
push dword [ebp + 0x10]
lea ecx, [ebp - 0x188]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x184]
call fcn.1002ab36
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x100292a2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x58], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10029298
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x58], 7
jge 0x100292ca
push ecx
push ebx
mov ecx, 0x6618
call fcn.10027f20
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], 7
pop ecx
pop ecx
jl 0x100292b0
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x100292dd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x30], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100292cf
mov dword [ebp - 0x30], ebx
jmp 0x10029380
mov dword [ebp - 0x20], ebx
lea ecx, [ebp - 0x2bc]
push 4
call fcn.1000adae
lea eax, [ebp - 0x2bc]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x344]
mov dword [ebp - 0x18], ebx
push eax
push ebx
push 0xe2e
mov dword [ebp - 0x18], 1
mov edx, 0x22e3
push ecx
call fcn.10027ddf
add esp, 0x14
cmp dword [ebp - 0x30], ebx
jne 0x10029360
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setg dl
xor eax, eax
test edx, edx
setle al
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
neg eax
cmp eax, 0xfffffffa
jne 0x10029360
mov ecx, ebx
jmp 0x10029363
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0xffffffff
lea ecx, [ebp - 0x2bc]
setle al
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
call fcn.1000ae31
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe9
jne 0x100292ea
push ebx
push 0x4d33
push 0x959d
call fcn.1003ad7c
pop ecx
pop ecx
call eax
push 2
lea ecx, [ebp - 0x350]
call fcn.1000adae
push 1
push 0x70a0
push 0x52f5
lea eax, [ebp - 0x350]
mov byte [ebp - 4], 0xf
push eax
push ecx
mov dword [ebp - 0x14], 0x9bdba76a
lea edx, [ebp - 0x334]
push 0x376a
call fcn.10028938
xor ecx, ecx
add esp, 0x18
inc ecx
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
jl 0x100294f6
mov dword [ebp - 0x28], 0x5e11
cmp dword [ebp - 0x28], 0x60fa
jle 0x10029456
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 0x7a08
mov esi, ebx
mov edi, ebx
mov ebx, eax
and ebx, esi
mov eax, ebx
mov ecx, 0x10073a98
or eax, edi
cdq
push edx
push eax
call fcn.1000ab96
inc edi
cmp edi, 0x4cad
jl 0x10029413
mov eax, dword [ebp - 0x20]
inc esi
push 0
pop ebx
cmp esi, 0x7bb1
jl 0x1002940d
dec eax
dec dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
jne 0x1002940b
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x5e9d
jl 0x10029401
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x10029469
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5c], 0x7a888ada
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002945b
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x28], 0x5d33
jge 0x100294ae
mov edx, str.zlelv_jew_rdrq_bbxrqgcn_onnipx_voowkb_qqa_hhoq_pvkviu
mov ecx, 0x10073a98
call fcn.1000d257
jmp 0x100294ab
xor ecx, ecx
inc ecx
mov dword [ebp - 4], 0xf
mov dword [ebp - 0x5c], ebx
jmp 0x100294e9
push 0x1720
push 0x1c9b
push 0x5d7a
push 0x4f78
push ecx
push 0x1c49
mov edx, 0x2ce7
xor cl, cl
call fcn.100283be
add esp, 0x18
xor ecx, ecx
inc dword [ebp - 0x5c]
inc ecx
cmp dword [ebp - 0x5c], ecx
jle 0x100294ba
dec dword [ebp - 0x14]
jmp 0x100293e3
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0xa
call fcn.1000ae31
lea eax, [ebp - 0x330]
mov edx, 0x1106
push eax
push ecx
push ecx
push 0x4e8c
push ebx
call fcn.10028532
mov dword [ebp - 0x38], 0x477862f
add esp, 0x14
mov dword [ebp - 0x200], 0xbb4f5ac3
mov dword [ebp - 0x164], 0xdfc9b996
mov dword [ebp - 0x14], 0xfffffff6
mov dword [ebp - 0x20], 0x2c6f7398
mov dword [ebp - 0x18], 0xddc4ea3c
mov dword [ebp - 0x18], 0x64a3a207
mov dword [ebp - 0x38], 0xffffffe6
jmp 0x10029647
push ecx
push ecx
push 0xc39
lea eax, [ebp - 0x164]
mov dword [ebp - 0x44], 0x8f0d
push eax
push ecx
push ecx
lea eax, [ebp - 0x38]
mov dword [ebp - 0x78], 0xf9c77509
push eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x18], 0x315bfeb1
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x18], 0x456014ef
push eax
push ecx
push ebx
push ecx
mov dword [ebp - 0x18], 0x32e88240
lea ecx, [ebp - 0x200]
call fcn.10028282
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x44]
add esp, 0x30
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x164], 1
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x164]
cmp eax, ecx
setge dl
cmp edx, dword [ebp - 0x20]
jne 0x100295f3
cmp dword [ebp - 0x44], ebx
jne 0x100295f3
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, 0xda74
mov eax, dword [ebp - 0x44]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setg dl
xor ecx, ecx
sub edx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, 0xf19
setge cl
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x78]
cmp eax, 0xfffffff8
mov eax, dword [ebp - 0x38]
setle cl
sub ecx, eax
add ecx, 0xeb64
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xfffffffb
jg 0x10029564
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x218], 1
mov dword [ebp - 0x2c], 0xf8f6a1c3
mov dword [ebp - 0x1c], ebx
jmp 0x10029682
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x258], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10029671
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 8
push 0xfffffffffffffffd
pop eax
jle 0x100298c1
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 3
jg 0x100298b9
mov dword [ebp - 0x24], 0x526d2e85
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x83dc0e3e
mov dword [ebp - 0x28], 0x3f2f
cmp dword [ebp - 0x28], 0x4285
jle 0x10029756
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov esi, ebx
lea ecx, [esi + edi]
shl eax, cl
lea ecx, [ebp - 0x430]
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10029707
mov eax, dword [eax]
push eax
call fcn.10040afc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x430]
call fcn.1000b217
mov eax, dword [ebp - 0x14]
inc esi
cmp esi, 0x450c
jl 0x100296ea
inc edi
cmp edi, 0x3c4d
jl 0x100296e8
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x50ce
jl 0x100296e6
push 0x1206
push 0xafa
push 0xa0d
push 0x2230
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x28], 0x3ef9
jge 0x1002976d
push str.nqdxy_zctoawmfr_psru_lsd_piddo_ijkkcm_fjrcvyto_ripdmnns_xraqcjqo_jgcncrlt_vndvcnlok
call fcn.10040afc
pop ecx
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x24], ebx
jmp 0x1002989d
mov dword [ebp - 0x28], 0x45625132
mov dword [ebp - 0x28], ebx
jmp 0x10029872
mov dword [ebp - 0x14], ebx
jmp 0x100297a1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1b0], 0x5e82aa9d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10029790
push ecx
push ebx
push ecx
push ecx
push 0x793d
push ecx
push ecx
lea edx, [ebp - 0x218]
mov ecx, 0x3ca1
call fcn.10027e32
mov eax, dword [ebp - 0x28]
add esp, 0x1c
mov eax, dword [ebp + eax*4 - 0x258]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
je 0x100297dd
mov eax, dword [ebp - 0x1b0]
cmp dword [ebp - 0x250], ebx
je 0x100297ef
cmp dword [ebp - 0x24], ebx
je 0x100297ef
xor eax, eax
inc eax
jmp 0x100297f1
mov eax, ebx
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1b0]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x1b0]
jl 0x10029820
cmp dword [ebp - 0x2c], ebx
je 0x10029820
xor eax, eax
inc eax
jmp 0x10029822
mov eax, ebx
mov dword [ebp - 0x14], eax
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x2a8]
neg edx
jne 0x10029849
cmp dword [ebp - 0x1b0], ebx
jne 0x10029849
mov eax, ebx
jmp 0x1002984c
xor eax, eax
inc eax
mov dword [ebp - 0x14], eax
xor edx, edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + eax*4 - 0x258]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setl dl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x250], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x1002978b
mov byte [ebp - 0x3e], bl
cmp byte [ebp - 0x3e], 0
je 0x1002989a
push 0x2386
push ecx
push ebx
push ecx
mov ecx, 0x59f3
call fcn.100289d7
add esp, 0x10
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x1002977c
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x258]
inc dword [ebp - 0x1c]
jmp 0x100296b6
inc dword [ebp - 0x20]
jmp 0x1002968b
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x2c], 0xa7084bc9
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jge 0x10029993
xor ecx, ecx
mov dword [ebp - 0x50], 0xb6182eac
mov dword [ebp - 0x24], ebx
inc ecx
jmp 0x1002990d
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x304], 0x38ecf54c
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x100298fc
mov dword [ebp - 0x24], ebx
jmp 0x10029928
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x3b8], 5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x10029917
lea eax, [ebp - 0x50]
push eax
push ecx
xor cl, cl
call fcn.10027c6f
pop ecx
mov dword [ebp - 0x50], ebx
cmp dword [ebp - 0x50], 0xc
pop ecx
je 0x1002998a
xor ebx, ebx
inc ebx
mov dword [ebp - 0x2c], 0x576c5165
lea edx, [ebp - 0x20c]
mov dword [ebp - 0x2c], ebx
sub esp, 0xc
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20c], 0xd68f9855
push ebx
call fcn.10028258
add esp, 0x10
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xc
jne 0x10029948
xor ebx, ebx
dec dword [ebp - 0x20]
js 0x100298ed
push 0x31
xor ecx, ecx
mov dword [ebp - 0x158], 0x8226d15
pop eax
inc ecx
mov dword [ebp - 0x154], 0xf200f21
push 2
mov byte [ebp - 0x14b], cl
mov byte [ebp - 0x138], cl
mov ecx, ebx
mov dword [ebp - 0x150], 0x5050d17
mov byte [ebp - 0x14c], 0x1a
mov dword [ebp - 0x14a], 0x69187408
mov dword [ebp - 0x146], 0x1c0e1c0f
mov dword [ebp - 0x142], 0x76161a1f
mov dword [ebp - 0x13e], 0x6e13021b
mov word [ebp - 0x13a], 0x1524
mov dword [ebp - 0x137], 0xc751c7d
mov dword [ebp - 0x133], 0x14701104
mov dword [ebp - 0x12f], 0x40b127d
mov dword [ebp - 0x12b], 0xc3fb618c
mov dword [ebp - 0x127], 0x72040310
mov dword [ebp - 0x123], 0x90d7319
mov dword [ebp - 0x11f], 0x69097d02
mov word [ebp - 0x11b], 0x1503
mov byte [ebp - 0x119], bl
mov dword [ebp - 0x118], 0x1e3e2343
mov dword [ebp - 0x114], 0xa7e0703
mov dword [ebp - 0x110], 0x649250c
mov dword [ebp - 0x10c], 0xb041d4d
mov byte [ebp - 0x108], 7
mov word [ebp - 0x46e], ax
pop esi
cmp esi, 0x2c
jne 0x10029a98
push 5
pop ecx
push 0x2f
pop esi
jmp 0x10029ace
movzx edx, byte [ebp + esi - 0x157]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x15a]
movzx eax, word [ebp + eax*2 - 0x498]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x158]
mov word [ebp + eax*2 - 0x498], cx
mov ecx, ebx
add esi, 2
cmp esi, 0x51
jb 0x10029a8b
xor eax, eax
lea ecx, [ebp - 0x320]
mov word [ebp - 0x44c], ax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x1e4], 0x751c
mov dword [ebp - 0x210], 0xfffffffc
mov dword [ebp - 0x208], 0x2f63069b
push 2
call fcn.1000adae
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x14], 0x4c4f
cmp dword [ebp - 0x14], 0x4dfa
jle 0x10029b91
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], edi
mov esi, ebx
xor edi, eax
mov eax, esi
lea ecx, [ebp - 0x418]
or eax, edi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10029b4e
mov eax, dword [eax]
push eax
call fcn.10040afc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x418]
call fcn.1000b217
inc esi
cmp esi, 0x7b6f
jl 0x10029b32
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0xaee
jl 0x10029b2b
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x604b
jl 0x10029b26
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
cmp dword [ebp - 0x14], 0x4ba9
jge 0x10029ba5
push str.gxc_shz_nrfzgy_kfvwrwq
call fcn.10040afc
pop ecx
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x14], ebx
jmp 0x10029bc4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x320]
mov dword [eax + ecx*4], 0x84cb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10029bb1
mov dword [ebp - 0x54], 0xfffffff3
cmp dword [ebp - 0x54], 0xd
jl 0x10029c27
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x21c], 0xcde6bc04
push eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x204], 0xd5269945
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x204]
push eax
push ecx
lea eax, [ebp - 0x208]
mov cl, 1
push eax
lea edx, [ebp - 0x210]
call fcn.100283be
add esp, 0x18
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xd
jge 0x10029bd7
xor ebx, ebx
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0xa
call fcn.1000ae31
xor eax, eax
mov dword [ebp - 0x288], 7
mov word [ebp - 0x29c], ax
lea ecx, [ebp - 0x29c]
lea eax, [ebp - 0x498]
mov dword [ebp - 0x28c], ebx
push eax
call fcn.1000b303
mov byte [ebp - 4], 0x17
xor ecx, ecx
mov dword [ebp - 0x1c], 4
inc ecx
mov dword [ebp - 0x2c], 0x12fd89d6
mov dword [ebp - 0x14], ebx
jmp 0x10029c8c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x19c], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10029c7b
push ecx
push 0x7ce3
push ecx
mov ecx, 0x271b
call fcn.100284e4
mov dword [ebp - 0x1c], ebx
add esp, 0xc
cmp dword [ebp - 0x1c], 5
jl 0x10029d27
mov dword [ebp - 0x2c], 0xe61780ee
lea ecx, [ebp - 0x340]
push 3
call fcn.1000adae
push 1
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x18
push eax
push ecx
push ecx
push 0x693b
sub esp, 0xc
lea eax, [ebp - 0x2e4]
mov ecx, 0x386
push eax
call fcn.10027b77
mov dword [ebp - 0x19c], 0xfffffffb
add esp, 0x24
mov eax, dword [ebp - 0x19c]
mov ecx, 0xff7673ed
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
lea ecx, [ebp - 0x340]
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 0x17
call fcn.1000ae31
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 5
jge 0x10029cae
xor ebx, ebx
push 0x13
pop ecx
xor eax, eax
lea edi, [ebp - 0x498]
rep stosd dword es:[edi], eax
push 2
lea ecx, [ebp - 0x2c8]
stosw word es:[edi], ax
call fcn.1000adae
push ebx
lea eax, [ebp - 0x2c8]
mov byte [ebp - 4], 0x19
push eax
push ecx
mov dword [ebp - 0x20], 0x9bdba76a
lea ecx, [ebp - 0x314]
call fcn.100284e4
xor ecx, ecx
add esp, 0xc
inc ecx
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jl 0x10029dac
mov dword [ebp - 0x14], ebx
jmp 0x10029d83
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x60], 0x7a888ada
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10029d75
mov dword [ebp - 0x60], ebx
jmp 0x10029da2
push ecx
mov byte [ebp - 0x40], bl
lea edx, [ebp - 0x40]
push ecx
call fcn.1002880d
inc dword [ebp - 0x60]
pop ecx
pop ecx
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x60], ecx
jle 0x10029d8d
dec dword [ebp - 0x20]
jns 0x10029d70
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x17
call fcn.1000ae31
push 0x6f
pop eax
push 0x7b
pop ecx
mov byte [ebp - 0xfd], al
mov byte [ebp - 0xed], al
mov byte [ebp - 0xeb], al
xor eax, eax
inc eax
mov byte [ebp - 0x100], bl
push 2
mov word [ebp - 0xff], 0x3b6
mov dword [ebp - 0xfc], 0x4d026930
mov dword [ebp - 0xf8], 0x904061a
mov dword [ebp - 0xf4], 0x51b7f06
mov word [ebp - 0xf0], 0x6e09
mov byte [ebp - 0xee], 0x14
mov byte [ebp - 0xec], 0x18
mov dword [ebp - 0xea], 0x3121d21
mov word [ebp - 0xe6], 0x700b
mov byte [ebp - 0xe4], 0x22
mov byte [ebp - 0xe3], al
mov byte [ebp - 0xe2], al
mov dword [ebp - 0xe1], 0x11710c04
mov word [ebp - 0xdd], 0x373
mov byte [ebp - 0xdb], bl
mov dword [ebp - 0xda], 0x7605021e
mov dword [ebp - 0xd6], 0x41c041d
mov byte [ebp - 0xd2], 0xf
mov byte [ebp - 0xd1], al
mov dword [ebp - 0xd0], 0xa15080a
mov word [ebp - 0xcc], 0x7123
mov byte [ebp - 0xca], 0x20
mov byte [ebp - 0xc9], cl
mov dword [ebp - 0xc8], 0x38257c17
mov dword [ebp - 0xc4], 0x807441f
mov dword [ebp - 0xc0], 0x1f161c13
mov dword [ebp - 0xbc], 0x50d0408
mov word [ebp - 0xb8], 0x319
mov byte [ebp - 0xb6], 0x10
mov byte [ebp - 0xb5], al
mov dword [ebp - 0xb4], 0x190e0524
mov word [ebp - 0x4e8], cx
pop esi
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x18], esi
cmp esi, 0x50
jae 0x1002a00c
mov dword [ebp - 0x20], 0x2e40
cmp dword [ebp - 0x20], 0x2f96
jle 0x10029f41
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edi, ebx
mov esi, ebx
mov eax, edi
mov ecx, 0x10073a98
cdq
idiv esi
mov eax, edx
cdq
push edx
push eax
call fcn.1000ab96
inc esi
cmp esi, 0x62c9
jl 0x10029f18
inc edi
cmp edi, 0x1bf2
jl 0x10029f16
mov esi, dword [ebp - 0x18]
movzx eax, byte [ebp - 0x100]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x10029f6c
movzx ecx, byte [ebp + esi - 0x100]
dec esi
add esi, ecx
lea eax, [ecx + 1]
mov dword [ebp - 0x170], eax
jmp 0x1002a004
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x20], 0x2ded
jge 0x10029fa9
mov edx, str.cqhsxxbl_lkgfqdm_pwasisrrq_syrhssiir_nvauuhy_qcn_xnqjirqg_phb_hcvakhc
mov ecx, 0x10073a98
call fcn.1000d257
jmp 0x10029fa9
mov dword [ebp - 4], 0x17
mov eax, esi
sub eax, dword [ebp - 0x170]
movzx edx, byte [ebp + esi - 0xff]
push 0x646d
movzx eax, byte [ebp + eax - 0x102]
movzx eax, word [ebp + eax*2 - 0x4e8]
mov ecx, eax
and eax, edx
or ecx, edx
xor dl, dl
sub ecx, eax
movzx eax, byte [ebp + esi - 0x100]
push ecx
mov word [ebp + eax*2 - 0x4e8], cx
lea eax, [ebp - 0x170]
push eax
push 0x32ae
call fcn.10027c54
add esp, 0x10
add esi, 2
jmp 0x10029ef2
xor eax, eax
lea ecx, [ebp - 0x23c]
push 2
mov word [ebp - 0x49c], ax
call fcn.1000adae
push 3
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0x1c
call fcn.1000adae
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x3c]
push 0x3153
push ecx
mov dword [ebp - 0x2c], 0xab551fa4
lea edx, [ebp - 0x23c]
mov dword [ebp - 0x20], 0xffffffff
push ecx
mov dword [ebp - 0x20], 0x40b319b
push eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 9
mov dword [ebp - 0x20], 0xffff
push 1
call fcn.10028532
add esp, 0x14
lea eax, [ebp - 0x3c]
push 0x7ae5
push 0x6f1b
push eax
push 0x6f56
push 0x6b2a
push 0x171e
push 0xc57
lea eax, [ebp - 0x1e0]
push eax
xor eax, eax
inc eax
push eax
mov dl, al
mov cl, al
call fcn.10028566
add esp, 0x24
mov dword [ebp - 0x3c], ebx
push 3
pop ecx
jmp 0x1002a0ca
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x310], ecx
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ecx
jl 0x1002a0bd
push 1
push 0x4739
push 0x7030
push 0x70aa
lea eax, [ebp - 0x45]
mov byte [ebp - 0x45], bl
push eax
push ecx
push ecx
mov edx, 0x2e46
call fcn.100288dd
mov eax, dword [ebp - 0x1e0]
add esp, 0x1c
mov esi, dword [eax]
test esi, esi
jne 0x1002a16c
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov edi, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x1e0]
mov esi, dword [edi]
cmp esi, dword [eax]
setg cl
xor edx, edx
inc edx
cmp edx, ecx
mov ecx, 0xca8c98aa
sbb eax, eax
inc eax
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, 0xfffffff9
je 0x1002a137
mov ecx, ebx
test esi, esi
je 0x1002a139
mov ecx, edx
xor eax, eax
cmp ecx, dword [edi + 4]
setl al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1e0]
mov esi, dword [eax]
cmp esi, 0x9c4b05ef
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x352601c8
setge cl
cmp ecx, 0xfffffff8
je 0x1002a16f
mov edx, ebx
jmp 0x1002a16f
xor edx, edx
inc edx
xor ecx, ecx
lea eax, [edx - 1]
cmp eax, esi
setle cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jne 0x1002a184
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1e0]
cmp ecx, dword [eax + 8]
setl dl
cmp edx, dword [ebp - 0x14]
je 0x1002a1b2
cmp dword [ebp - 0x308], ebx
je 0x1002a1b2
xor eax, eax
inc eax
jmp 0x1002a1b4
mov eax, ebx
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 0x308], eax
call fcn.1000ae31
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x17
call fcn.1000ae31
xor eax, eax
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
lea ecx, [ebp - 0x270]
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x260], ebx
push eax
call fcn.1000b303
push 0x13
pop ecx
xor eax, eax
mov byte [ebp - 4], 0x1e
cmp dword [ebp - 0x288], 8
lea edi, [ebp - 0x4e8]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x390]
mov esi, 0x4d33
push ecx
stosw word es:[edi], ax
lea eax, [ebp - 0x29c]
cmovae eax, dword [ebp - 0x29c]
mov edi, 0x5b37
push eax
push esi
push edi
call fcn.1003ad7c
pop ecx
pop ecx
call eax
test eax, eax
jne 0x1002a6fa
cmp dword [ebp - 0x25c], 8
lea ecx, [ebp - 0x3b0]
push ecx
lea eax, [ebp - 0x270]
cmovae eax, dword [ebp - 0x270]
push eax
push esi
push edi
call fcn.1003ad7c
pop ecx
pop ecx
call eax
test eax, eax
jne 0x1002a6fa
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x390]
push eax
push 3
push ebx
lea eax, [ebp - 0x3b0]
push eax
push esi
push 0x6b91
call fcn.1003ad7c
pop ecx
pop ecx
call eax
test eax, eax
js 0x1002a6fa
cmp dword [ebp - 0x34], 0
je 0x1002a6fa
push ebx
lea eax, [ebp - 0x380]
mov ecx, 0x226c
push eax
push 0x3ccb
xor eax, eax
inc eax
push 0x523e
push eax
mov dl, al
call fcn.10028035
add esp, 0x14
mov word [ebp - 0x68], 0x502
xor eax, eax
mov byte [ebp - 0x66], bl
mov word [ebp - 0x378], ax
mov word [ebp - 0x65], 0x133
push 0x74
pop eax
push 2
mov byte [ebp - 0x63], 0x22
mov word [ebp - 0x178], ax
pop esi
movzx eax, byte [ebp + esi - 0x6a]
movzx ecx, byte [ebp + esi - 0x67]
movzx eax, word [ebp + eax*2 - 0x17c]
mov edx, eax
and eax, ecx
or edx, ecx
sub edx, eax
movzx eax, byte [ebp + esi - 0x68]
add esi, 2
mov word [ebp + eax*2 - 0x17c], dx
cmp esi, 6
jb 0x1002a2fe
xor eax, eax
mov dword [ebp - 0x1b4], 7
mov word [ebp - 0x176], ax
lea ecx, [ebp - 0x1c8]
mov word [ebp - 0x1c8], ax
lea eax, [ebp - 0x17c]
push eax
mov dword [ebp - 0x1b8], ebx
call fcn.1000b303
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x1c8]
cmp dword [ebp - 0x1b4], 8
mov eax, dword [ebp - 0x1b8]
cmovae ecx, dword [ebp - 0x1c8]
push dword [ebp + 0x10]
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0x178], ebx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x1fc], ebx
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 0x1f8], ebx
cmovae ecx, dword [ebp - 0x1c8]
push eax
push ecx
lea ecx, [ebp - 0x1fc]
mov dword [ebp - 0x1f4], ebx
call fcn.10023ddd
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 0x20
push eax
push 0x2568
mov cl, 1
call fcn.100289a5
mov edx, dword [ebp - 0x74]
pop ecx
pop ecx
cmp dword [edx + 0x14], 8
jb 0x1002a3e1
mov ecx, dword [edx]
jmp 0x1002a3e3
mov ecx, edx
cmp dword [edx + 0x14], 8
mov eax, dword [edx + 0x10]
lea eax, [ecx + eax*2]
jb 0x1002a3f1
mov edx, dword [edx]
push dword [ebp + 0x10]
lea ecx, [ebp - 0x1d4]
mov dword [ebp - 0x1d4], ebx
push eax
push edx
mov dword [ebp - 0x1d0], ebx
mov dword [ebp - 0x1cc], ebx
call fcn.10023ddd
push 0x2371
push ecx
push ecx
push ebx
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x21
push eax
push ecx
mov edx, 0x3ac8
mov ecx, 0x133
call fcn.10028200
cmp dword [ebp - 0x1b4], 8
lea edx, [ebp - 0x1c8]
lea esi, [ebp - 0x330]
mov eax, dword [ebp - 0x34]
cmovae edx, dword [ebp - 0x1c8]
add esp, 8
mov edi, esp
sub esp, 0x10
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x330]
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x380]
push dword [ebp - 0x1d4]
push edx
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x1c]
test eax, eax
js 0x1002a693
mov esi, dword [ebp - 0x188]
mov cl, 1
mov dword [ebp - 0x160], ebx
cmp esi, dword [ebp - 0x184]
je 0x1002a4ef
add esi, 0x18
test cl, cl
je 0x1002a4d7
cmp dword [esi + 0x14], 8
jb 0x1002a4b6
mov edi, dword [esi]
jmp 0x1002a4b8
mov edi, esi
cmp dword [esi - 4], 8
jb 0x1002a4c3
mov edx, dword [esi - 0x18]
jmp 0x1002a4c6
lea edx, [esi - 0x18]
mov eax, dword [ebp - 0x34]
push edi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov cl, 1
test eax, eax
jns 0x1002a4d9
mov cl, bl
add esi, 0x30
lea eax, [esi - 0x18]
cmp eax, dword [ebp - 0x184]
jne 0x1002a4a8
test cl, cl
je 0x1002a693
mov eax, dword [ebp - 0x34]
lea esi, [ebp - 0x330]
sub esp, 0x10
mov edi, esp
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
test eax, eax
js 0x1002a693
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x160]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
test eax, eax
js 0x1002a693
cmp dword [ebp - 0x160], 0x130
je 0x1002a543
cmp dword [ebp - 0x160], 0xc8
jne 0x1002a693
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x3a0]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
test eax, eax
js 0x1002a693
mov edi, dword [ebp - 0x398]
mov dword [ebp - 0x214], edi
test edi, edi
je 0x1002a693
mov eax, dword [edi]
lea ecx, [ebp - 0x530]
xor esi, esi
inc esi
push esi
push ecx
push edi
call dword [eax + 0x30]
test eax, eax
js 0x1002a663
mov eax, dword [ebp - 0x528]
lea edx, [ebp - 0x70]
push 0x682
push 0x7e60
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x1a8]
push esi
push eax
push ecx
call fcn.10027ddf
mov edx, dword [ebp - 0x70]
mov esi, ebx
mov dword [ebp - 0x174], ebx
add esp, 0x14
xor ebx, ebx
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x15c], esi
inc ebx
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [edi]
add eax, esi
lea esi, [ebp - 0x174]
push esi
push edx
push eax
push edi
call dword [ecx + 0xc]
mov esi, dword [ebp - 0x15c]
test eax, eax
js 0x1002a633
lea eax, [ebp - 0x15c]
mov dl, bl
push eax
push ecx
lea eax, [ebp - 0x174]
push 0x568c
push eax
call fcn.10027c54
add esp, 0x10
lea eax, [ebp - 0x174]
push eax
push ecx
push ebx
push ecx
lea ecx, [ebp - 0x190]
call fcn.100289d7
mov esi, dword [ebp - 0x15c]
add esp, 0x10
cmp esi, dword [ebp - 0x70]
jae 0x1002a636
mov edx, dword [ebp - 0x190]
jmp 0x1002a5c9
cmp esi, dword [ebp - 0x70]
push 0
pop ebx
je 0x1002a663
push 0x125e
push ecx
push 0x7ee0
push ecx
push ecx
push 0x5b8f
push 0x49c6
push ecx
lea edx, [ebp - 0x1a8]
mov cl, 1
call fcn.10027d86
add esp, 0x20
push ecx
push ecx
lea eax, [ebp - 0x214]
push eax
push 0xd7b
push ecx
push ecx
push 0x7ae7
push 0x2405
push 0x3fba
push ecx
push 1
push ecx
mov ecx, 0x25e4
call fcn.10028282
add esp, 0x30
push 0x4a4
push 0x4b4e
push 0x79cc
push 0x745c
push 0x772
lea eax, [ebp - 0x34]
xor dl, dl
push eax
push 0x8d6
xor eax, eax
inc eax
push 0x1b80
push eax
mov cl, al
call fcn.10028566
add esp, 0x24
mov dword [ebp - 0x34], ebx
lea ecx, [ebp - 0x1d4]
call fcn.1001de4e
lea ecx, [ebp - 0x1fc]
call fcn.1001de4e
push ebx
push 1
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 0x1e
call fcn.1000b425
mov esi, 0x4d33
push esi
push 0x7beb
call fcn.1003ad7c
pop ecx
pop ecx
call eax
mov ecx, dword [ebp - 0x220]
lea eax, [ebp - 0x1a8]
push eax
call fcn.1002a8a0
push ebx
push 1
lea ecx, [ebp - 0x270]
call fcn.1000b425
push ebx
push 1
lea ecx, [ebp - 0x29c]
call fcn.1000b425
lea ecx, [ebp - 0x188]
call fcn.1002388b
lea ecx, [ebp - 0x1a8]
call fcn.10023aec
lea ecx, [ebp + 8]
call fcn.1002388b
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret