Function at 0x73ee53dd
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0x288
mov eax, 0x73ef5ffa
call fcn.73eed141
mov esi, ecx
mov dword [ebp - 0x238], esi
mov eax, dword [ebp + 0x34]
mov ebx, dword [ebp + 0x2c]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp + 0x38]
push 0x100
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x224]
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor ecx, ecx
add esp, 0xc
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp + 8]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x23c], ecx
mov dword [ebp + 0x10], eax
push dword [ebp + 0xc]
sub eax, dword [ebp + 0x20]
mov edi, ecx
push dword [ebp + 8]
mov byte [ebp - 0x22d], cl
lea ecx, [ebp - 0x224]
push dword [ebp + 0x28]
mov dword [ebp - 0x248], eax
push esi
call fcn.73ee6fa1
mov esi, dword [ebp - 0x120]
cmp byte [esi + 2], 0
jbe 0x73ee5827
movzx edx, byte [esi + edi*2 + 5]
lea eax, [edi + 2]
mov ecx, edx
mov dword [ebp - 0x234], eax
movzx eax, byte [esi + eax*2]
shr ecx, 4
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x248], eax
jb 0x73ee5803
and edx, 0xf
cmp edx, 0xa
ja case.default.0x73ee54aa
jmp dword [edx*4 + 0x73ee5981]
mov eax, dword [ebx + 0x9c]
lea ecx, [ebp - 0x25c]
mov esi, dword [ebx + 0x98]
push 8
push ecx
push eax
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x238]
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5953
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x258]
mov dword [ebx + edx*8 + 0x78], eax
mov dword [ebx + edx*8 + 0x7c], ecx
add dword [ebx + 0x98], 8
adc dword [ebx + 0x9c], 0
jmp 0x73ee57fa
movzx edx, word [esi + edi*2 + 6]
inc edi
test ecx, ecx
je 0x73ee5528
movzx eax, word [esi + edi*2 + 6]
inc edi
shl eax, 0x10
add edx, eax
jmp 0x73ee552b
shl edx, 3
add dword [ebx + 0x98], edx
adc dword [ebx + 0x9c], 0
jmp 0x73ee5800
lea eax, [ecx*8 + 8]
add dword [ebx + 0x98], eax
jmp 0x73ee5531
movzx eax, byte [esi + 3]
and eax, 0xf
mov ecx, dword [ebx + eax*8 + 0x78]
mov edx, dword [ebx + eax*8 + 0x7c]
mov dword [ebx + 0x98], ecx
mov dword [ebx + 0x9c], edx
movzx eax, byte [esi + 3]
and eax, 0xfffffff0
sub ecx, eax
mov dword [ebx + 0x98], ecx
sbb edx, 0
mov dword [ebx + 0x9c], edx
jmp 0x73ee5800
movzx eax, word [esi + edi*2 + 6]
lea ecx, [ebp - 0x264]
inc edi
cdq
mov esi, eax
mov eax, edx
shld eax, esi, 3
push 8
shl esi, 3
add esi, dword [ebp + 0x18]
push ecx
adc eax, dword [ebp + 0x1c]
push eax
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x238]
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5953
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x22c]
mov dword [ebx + edx*8 + 0x78], eax
mov dword [ebx + edx*8 + 0x7c], ecx
jmp 0x73ee57fa
mov edi, dword [ebp - 0x234]
push 8
movzx eax, word [esi + edi*2 + 4]
cdq
mov ecx, eax
mov eax, edi
shld edx, ecx, 0x10
mov dword [ebp - 0x228], edx
movzx eax, word [esi + eax*2 + 2]
mov esi, dword [ebp - 0x228]
cdq
shl ecx, 0x10
add ecx, eax
lea eax, [ebp - 0x26c]
push eax
mov eax, dword [ebp - 0x238]
adc esi, edx
add ecx, dword [ebp + 0x18]
mov dword [ebp - 0x228], ecx
adc esi, dword [ebp + 0x1c]
push esi
push ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5867
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x268]
jmp 0x73ee55cf
inc edi
jmp 0x73ee5800
movzx eax, word [esi + edi*2 + 6]
inc edi
cdq
mov dword [ebp - 0x228], edi
mov esi, eax
mov edi, edx
lea eax, [ebp - 0x284]
shld edi, esi, 4
push 0x10
shl esi, 4
add esi, dword [ebp + 0x18]
push eax
mov eax, dword [ebp - 0x238]
adc edi, dword [ebp + 0x1c]
push edi
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5873
lea esi, [ebp - 0x284]
mov edi, dword [ebp - 0x22c]
lea eax, [ebx + 0x1a0]
shl edi, 4
add edi, 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, dword [ebp - 0x228]
jmp 0x73ee57fa
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x228], eax
push 0x10
movzx eax, word [esi + eax*2 + 4]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0x234]
shld ecx, edi, 0x10
shl edi, 0x10
movzx eax, word [esi + eax*2 + 2]
cdq
add edi, eax
lea eax, [ebp - 0x294]
push eax
mov eax, dword [ebp - 0x238]
adc ecx, edx
add edi, dword [ebp + 0x18]
adc ecx, dword [ebp + 0x1c]
push ecx
mov dword [ebp - 0x234], ecx
mov ecx, dword [eax + 8]
push edi
call fcn.73dd7f01
test eax, eax
jne 0x73ee5879
lea esi, [ebp - 0x294]
jmp 0x73ee5695
mov esi, dword [ebx + 0x98]
mov edx, esi
mov eax, dword [ebx + 0x9c]
add edx, 0x18
mov dword [ebp - 0x22c], eax
adc dword [ebp - 0x22c], 0
mov byte [ebp - 0x22d], 1
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x228], edx
test ecx, ecx
je 0x73ee576b
add esi, 8
adc eax, 0
add edx, 8
mov dword [ebp - 0x234], eax
adc dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], edx
push 8
lea ecx, [ebp - 0x274]
push ecx
push eax
mov eax, dword [ebp - 0x238]
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
mov ecx, eax
test ecx, ecx
jne 0x73ee588d
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x270]
mov dword [ebx + 0xf8], eax
lea eax, [ebp - 0x244]
push 8
push eax
mov eax, dword [ebp - 0x238]
push dword [ebp - 0x22c]
mov dword [ebx + 0xfc], ecx
push dword [ebp - 0x228]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5885
mov ecx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x244]
mov dword [ebx + 0x9c], ecx
mov ecx, dword [ebp - 0x24c]
mov dword [ebx + 0x98], eax
mov eax, dword [ebp - 0x234]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov esi, dword [ebp - 0x120]
inc edi
jmp 0x73ee581b
mov eax, dword [ebp - 0x234]
movzx eax, word [esi + eax*2]
push eax
call fcn.73ee708b
mov esi, dword [ebp - 0x120]
add edi, eax
movzx eax, byte [esi + 2]
cmp edi, eax
jb 0x73ee5475
test byte [esi], 0x20
je 0x73ee58d6
movzx eax, byte [esi + 2]
test al, 1
je 0x73ee5839
inc eax
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x23c]
add esi, 4
lea edi, [ebp + 0x20]
inc eax
mov dword [ebp - 0x23c], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp eax, 0x20
ja case.default.0x73ee54aa
mov esi, dword [ebp - 0x238]
xor ecx, ecx
mov eax, dword [ebp + 0x10]
jmp 0x73ee543f
push esi
push dword [ebp - 0x228]
jmp 0x73ee595a
push edi
jmp 0x73ee5959
push dword [ebp - 0x234]
push edi
jmp 0x73ee595a
push dword [ebp - 0x22c]
jmp 0x73ee5868
mov eax, dword [ebp - 0x234]
push eax
push esi
push 0x73dbfcc4
push ecx
jmp 0x73ee5960
lea eax, [ebp - 0x11c]
push 0x73dbfd28
push eax
call fcn.73ee9328
pop ecx
pop ecx
jmp 0x73ee596f
push 0xc00000ff
lea eax, [ebp - 0x11c]
push 0x73dbfce0
push eax
call fcn.73ee9328
add esp, 0xc
jmp 0x73ee596f
cmp byte [ebp - 0x22d], 0
jne 0x73ee5932
mov edi, dword [ebx + 0x9c]
lea eax, [ebp - 0x244]
mov esi, dword [ebx + 0x98]
push 8
push eax
mov eax, dword [ebp - 0x238]
push edi
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5873
add dword [ebx + 0x98], 8
mov eax, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x240]
adc dword [ebx + 0x9c], 0
mov dword [ebx + 0xf8], eax
mov dword [ebx + 0xfc], ecx
std
invalid
mov edi, dword [ebp - 0x250]
lea esi, [ebp + 0x20]
lea ecx, [ebp - 0x224]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.73ee4db7
xor eax, eax
call fcn.73eed0de
ret 0x34
std
invalid
push dword [ebp - 0x228]
push esi
push 0x73dbfcc4
push eax
invalid
lea eax, [ebp - 0x11c]
push eax
call fcn.73ee92ef
add esp, 0x14
push 0x73f33e54
lea eax, [ebp - 0x11c]
invalid
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
nop
mov cl, 0x54
out dx, al
jae 0x73ee5997
push ebp
out dx, al
jae 0x73ee59c7
push ebp
out dx, al
jae 0x73ee59da
push ebp
out dx, al
jae 0x73ee5916
push ebp
out dx, al
jae 0x73ee5978
push ebp
out dx, al
jae 0x73ee59e4
push esi
out dx, al
jae 0x73ee593e
pop eax
out dx, al
jae 0x73ee59f2
push esi
out dx, al
jae 0x73ee595b
push esi
out dx, al
jae 0x73ee59c4
push edi
out dx, al
jae 0x73ee597a
int3
mov dword [ebp - 0x338], ecx
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 0x18]
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x374], eax
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x360], eax
mov eax, dword [ebx + 0x30]
cld
invalid
inc ebx
adc byte [ecx - 0x3737b], cl
dec dword [ebx - 0x7a76d7bd]
mov al, byte [0x8bfffffc]
inc ebx
xor byte [ecx - 0x3837b], cl
dec dword [ebx - 0x7a76cbbd]
insb byte es:[edi], dx
cld
invalid
sub byte [ecx - 0x35f7b], cl
dec dword [ebx - 0x7a76cfbd]
jl 0x73ee59ee
mov dword [ebp - 0x384], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x394], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x39c], eax
xor eax, eax
push 0x100
push eax
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x330]
push eax
mov dword [ebp - 0x38c], edi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
add esp, 0xc
mov dword [ebp - 0x230], edx
mov dword [ebp - 0x22c], edx
lea ecx, [ebx + 0x1c]
mov dword [ebp - 4], edx
call fcn.73ee4de0
test eax, eax
jne 0x73ee5af3
invalid
mov eax, dword [ebp - 0x360]
lea edx, [ebp - 0x378]
push 8
push edx
mov ecx, dword [eax + 0x98]
mov eax, dword [eax + 0x9c]
push eax
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x36c], ecx
push ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee6f66
mov edx, dword [ebp - 0x378]
mov ecx, dword [ebp - 0x374]
cmp esi, edx
jne 0x73ee5aad
cmp edi, ecx
jne 0x73ee5aad
mov esi, 0xc00000ff
jmp 0x73ee6489
mov eax, dword [ebp - 0x360]
push 0
pop esi
add dword [eax + 0x98], 8
mov dword [eax + 0xfc], ecx
adc dword [eax + 0x9c], esi
mov ecx, dword [ebp - 0x36c]
mov dword [eax + 0xf8], edx
mov eax, dword [ebp - 0x394]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x380]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x384]
mov dword [ecx], esi
jmp 0x73ee6489
push dword [ebp - 0x374]
mov eax, dword [ebp - 0x338]
lea ecx, [ebp - 0x330]
push dword [ebp - 0x35c]
mov dword [ebp - 0x368], edx
push dword [ebx + 0x24]
push eax
call fcn.73ee6fa1
mov eax, dword [ebp - 0x22c]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x344], eax
movzx edx, byte [eax]
and edx, 7
mov dword [ebp - 0x350], edx
cmp edx, 2
jae 0x73ee5b9d
lea esi, [ebx + 0x1c]
sub esp, 0x108
lea edi, [ebp - 0x3b8]
mov ecx, esp
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x330]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.73ee4d42
push ecx
push ecx
push dword [ebp - 0x374]
mov ecx, dword [ebp - 0x338]
lea esi, [ebp - 0x3b8]
push dword [ebp - 0x35c]
sub esp, 0xc
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.73ee4fa1
mov esi, dword [ebx + 0x14]
xor ecx, ecx
inc ecx
test eax, eax
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x344], eax
je 0x73ee5b9d
mov dword [ebp - 0x368], ecx
xor edx, edx
test byte [eax + 3], 0xf
mov dword [ebp - 0x398], edx
je 0x73ee5c92
movzx eax, byte [eax + 1]
mov edi, esi
sub edi, dword [ebp - 0x35c]
sub edi, dword [ebx + 0x1c]
mov dword [ebp - 0x36c], edi
cmp edi, eax
jae 0x73ee5c4c
mov eax, dword [ebp - 0x344]
test byte [eax], 0x20
jne 0x73ee5c4c
mov ecx, dword [ebp - 0x344]
mov eax, edx
mov dword [ebp - 0x348], eax
cmp byte [ecx + 2], al
jbe 0x73ee5c33
mov esi, eax
movzx eax, word [ecx + esi*2 + 4]
mov word [ebp - 0x340], ax
shr eax, 8
and al, 0xf
cmp al, 3
je 0x73ee5c1c
push dword [ebp - 0x340]
call fcn.73ee708b
mov ecx, dword [ebp - 0x22c]
add esi, eax
movzx eax, byte [ecx + 2]
cmp esi, eax
jb 0x73ee5bec
mov dword [ebp - 0x348], esi
xor edx, edx
mov esi, dword [ebx + 0x14]
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x344], ecx
movzx eax, byte [ecx + eax*2 + 4]
cmp dword [ebp - 0x36c], eax
jb 0x73ee5c92
mov dword [ebp - 0x398], 1
jmp 0x73ee5c58
mov dword [ebp - 0x398], ecx
mov ecx, dword [ebp - 0x344]
movzx ecx, byte [ecx + 3]
mov edi, dword [ebp - 0x360]
mov eax, ecx
and eax, 0xf
and ecx, 0xfffffff0
mov edi, dword [edi + eax*8 + 0x78]
sub edi, ecx
mov ecx, dword [ebp - 0x360]
mov dword [ebp - 0x348], edi
mov eax, dword [ecx + eax*8 + 0x7c]
mov ecx, dword [ebp - 0x35c]
sbb eax, edx
mov dword [ebp - 0x36c], ecx
mov ecx, edi
jmp 0x73ee5cb0
mov eax, dword [ebp - 0x360]
mov edi, dword [ebp - 0x35c]
mov dword [ebp - 0x36c], edi
mov ecx, dword [eax + 0x98]
mov eax, dword [eax + 0x9c]
cmp dword [ebp - 0x368], 0
mov dword [ebp - 0x380], esi
mov esi, dword [ebp - 0x394]
mov dword [esi], ecx
mov ecx, esi
mov esi, dword [ebx + 0x14]
mov dword [ecx + 4], eax
mov edi, dword [ebp - 0x38c]
jne 0x73ee6437
cmp dword [ebp - 0x350], 2
jae 0x73ee6da5
push 1
lea eax, [ebp - 0x332]
mov dword [ebp - 0x348], esi
push eax
mov eax, dword [ebp - 0x338]
push edi
push esi
mov dword [ebp - 0x350], edi
mov ecx, dword [eax + 8]
mov dword [ebp - 0x368], edx
call fcn.73dd7f01
test eax, eax
je 0x73ee5d1c
push edi
push esi
jmp 0x73ee6f74
cmp byte [ebp - 0x332], 0x48
jne 0x73ee5db7
xor eax, eax
mov ecx, esi
inc eax
mov edx, edi
add ecx, eax
push eax
lea eax, [ebp - 0x332]
mov dword [ebp - 0x340], ecx
push eax
mov eax, dword [ebp - 0x338]
adc edx, 0
push edx
push ecx
mov dword [ebp - 0x344], edx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
je 0x73ee5d6e
push dword [ebp - 0x344]
push dword [ebp - 0x340]
jmp 0x73ee6f74
cmp byte [ebp - 0x332], 0x83
jne 0x73ee5db7
mov eax, esi
lea edx, [ebp - 0x332]
add eax, 2
mov ecx, edi
push 1
adc ecx, 0
mov dword [ebp - 0x340], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x344], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5d5d
cmp byte [ebp - 0x332], 0xc4
je 0x73ee5fe7
push 1
lea eax, [ebp - 0x332]
push eax
mov eax, dword [ebp - 0x338]
push edi
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5d15
cmp byte [ebp - 0x332], 0x48
jne 0x73ee5e6e
inc eax
mov ecx, esi
add ecx, eax
mov edx, edi
push eax
lea eax, [ebp - 0x332]
mov dword [ebp - 0x340], ecx
push eax
mov eax, dword [ebp - 0x338]
adc edx, 0
push edx
push ecx
mov dword [ebp - 0x344], edx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5d5d
cmp byte [ebp - 0x332], 0x81
jne 0x73ee5e6e
mov eax, esi
lea edx, [ebp - 0x332]
add eax, 2
mov ecx, edi
push 1
adc ecx, 0
mov dword [ebp - 0x340], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x344], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5d5d
cmp byte [ebp - 0x332], 0xc4
jne 0x73ee5e6e
mov eax, esi
add eax, 7
jmp 0x73ee5fec
push 1
lea eax, [ebp - 0x332]
push eax
mov eax, dword [ebp - 0x338]
push edi
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5d15
mov al, byte [ebp - 0x332]
and al, 0xfe
cmp al, 0x48
jne 0x73ee603a
xor eax, eax
mov ecx, esi
inc eax
mov edx, edi
add ecx, eax
push eax
lea eax, [ebp - 0x332]
mov dword [ebp - 0x340], ecx
push eax
mov eax, dword [ebp - 0x338]
adc edx, 0
push edx
push ecx
mov dword [ebp - 0x344], edx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5d5d
cmp byte [ebp - 0x332], 0x8d
jne 0x73ee603a
push 1
lea eax, [ebp - 0x332]
push eax
mov eax, dword [ebp - 0x338]
push edi
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5d15
mov al, byte [ebp - 0x332]
lea edx, [ebp - 0x331]
mov byte [ebp - 0x349], al
mov ecx, edi
mov eax, esi
add eax, 2
push 1
adc ecx, 0
mov dword [ebp - 0x340], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x344], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
je 0x73ee5f75
push dword [ebp - 0x344]
push dword [ebp - 0x340]
push 0x73dbfcc4
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.73ee92ef
add esp, 0x14
lea eax, [ebp - 0x120]
push 0x73f33e54
jmp 0x73ee6f94
movzx edx, byte [ebp - 0x349]
xor ecx, ecx
movzx eax, byte [ebp - 0x331]
inc ecx
and edx, ecx
and eax, 7
shl edx, 3
or edx, eax
mov dword [ebp - 0x368], edx
je 0x73ee603a
mov eax, dword [ebp - 0x22c]
movzx eax, byte [eax + 3]
and eax, 0xf
cmp edx, eax
jne 0x73ee603a
push ecx
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x344]
push dword [ebp - 0x340]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5f44
mov al, byte [ebp - 0x331]
and al, 0xf8
cmp al, 0x60
jne 0x73ee5ff6
mov eax, esi
add eax, 4
mov ecx, edi
adc ecx, 0
jmp 0x73ee60ef
push 1
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x344]
push dword [ebp - 0x340]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee5f44
mov al, byte [ebp - 0x331]
mov ecx, edi
and al, 0xf8
cmp al, 0xa0
mov eax, esi
jne 0x73ee60fb
add eax, 7
jmp 0x73ee5fee
mov eax, esi
mov ecx, edi
jmp 0x73ee60fb
mov al, byte [ebp - 0x332]
and al, 0xf8
cmp al, 0x58
jne 0x73ee6057
xor ecx, ecx
inc ecx
jmp 0x73ee60dd
push 1
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x350]
push dword [ebp - 0x348]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee617c
mov al, byte [ebp - 0x331]
and al, 0xf0
cmp al, 0x40
jne 0x73ee612f
mov ecx, dword [ebp - 0x348]
xor eax, eax
mov edx, dword [ebp - 0x350]
inc eax
add ecx, eax
push eax
lea eax, [ebp - 0x349]
mov dword [ebp - 0x344], ecx
push eax
mov eax, dword [ebp - 0x338]
adc edx, 0
push edx
push ecx
mov dword [ebp - 0x340], edx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee611e
mov al, byte [ebp - 0x349]
and al, 0xf8
cmp al, 0x58
jne 0x73ee6153
push 2
pop ecx
mov eax, dword [ebp - 0x348]
xor edx, edx
add eax, ecx
mov ecx, dword [ebp - 0x350]
adc ecx, edx
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x350], ecx
push 1
lea edx, [ebp - 0x332]
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
je 0x73ee6043
jmp 0x73ee617c
push dword [ebp - 0x340]
push dword [ebp - 0x344]
jmp 0x73ee5f50
mov eax, dword [ebp - 0x348]
mov ecx, eax
add ecx, 1
mov dword [ebp - 0x344], ecx
mov ecx, dword [ebp - 0x350]
mov edx, ecx
adc edx, 0
mov dword [ebp - 0x340], edx
jmp 0x73ee615f
mov eax, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x350]
push 1
lea edx, [ebp - 0x331]
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
je 0x73ee618d
push dword [ebp - 0x350]
push dword [ebp - 0x348]
jmp 0x73ee5f50
cmp byte [ebp - 0x331], 0xf2
jne 0x73ee61b0
mov eax, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x340]
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x350], ecx
jmp 0x73ee61bc
mov eax, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x350]
push 1
lea edx, [ebp - 0x331]
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee617c
cmp byte [ebp - 0x331], 0xc3
je 0x73ee6616
push 1
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x350]
push dword [ebp - 0x348]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee617c
cmp byte [ebp - 0x331], 0xc2
je 0x73ee6616
push 1
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x350]
push dword [ebp - 0x348]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee617c
mov ecx, dword [ebp - 0x348]
inc eax
mov edx, dword [ebp - 0x350]
add ecx, eax
mov dword [ebp - 0x344], ecx
adc edx, 0
cmp byte [ebp - 0x331], 0xf3
mov dword [ebp - 0x340], edx
jne 0x73ee629e
push eax
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push edx
push ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee611e
cmp byte [ebp - 0x331], 0xc3
je 0x73ee6616
inc eax
push eax
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x350]
push dword [ebp - 0x348]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee617c
cmp byte [ebp - 0x331], 0xeb
je 0x73ee649b
push 1
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x350]
push dword [ebp - 0x348]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee617c
cmp byte [ebp - 0x331], 0xe9
je 0x73ee649b
push 1
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x350]
push dword [ebp - 0x348]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee617c
cmp byte [ebp - 0x331], 0xff
jne 0x73ee6379
push 1
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x340]
push dword [ebp - 0x344]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee611e
cmp byte [ebp - 0x331], 0x25
je 0x73ee6616
push 1
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x350]
push dword [ebp - 0x348]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee617c
mov al, byte [ebp - 0x331]
and al, 0xf8
cmp al, 0x48
jne 0x73ee6437
push 1
lea eax, [ebp - 0x331]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x340]
push dword [ebp - 0x344]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee611e
cmp byte [ebp - 0x331], 0xff
jne 0x73ee6437
mov eax, dword [ebp - 0x348]
lea edx, [ebp - 0x331]
mov ecx, dword [ebp - 0x350]
add eax, 2
push 1
adc ecx, 0
mov dword [ebp - 0x348], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x350], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee617c
mov al, byte [ebp - 0x331]
and al, 0x38
cmp al, 0x20
je 0x73ee6616
push dword [ebp - 0x39c]
lea eax, [ebx + 0x1c]
push eax
push ecx
push dword [ebp - 0x360]
mov esi, eax
mov eax, dword [ebp - 0x394]
sub esp, 0xc
mov edi, esp
push dword [eax + 4]
movsd dword es:[edi], dword [esi]
push dword [eax]
push dword [ebp - 0x38c]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0x14]
push dword [ebp - 0x374]
movsd dword es:[edi], dword [esi]
push dword [ebp - 0x35c]
mov edi, dword [ebp - 0x338]
mov ecx, edi
call fcn.73ee53dd
mov esi, eax
test esi, esi
jns 0x73ee6ef8
lea ecx, [ebp - 0x330]
call fcn.73ee4db7
mov eax, esi
jmp 0x73ee6f5b
mov eax, dword [ebp - 0x348]
mov ecx, eax
sub ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x358], ecx
mov ecx, dword [ebp - 0x350]
mov edx, ecx
sbb edx, dword [ebp - 0x374]
push 1
mov dword [ebp - 0x354], edx
lea edx, [ebp - 0x331]
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee617c
cmp byte [ebp - 0x331], 0xeb
mov eax, dword [ebp - 0x338]
mov ecx, dword [eax + 8]
jne 0x73ee6524
push 1
lea eax, [ebp - 0x331]
push eax
push dword [ebp - 0x340]
push dword [ebp - 0x344]
call fcn.73dd7f01
test eax, eax
jne 0x73ee611e
movsx eax, byte [ebp - 0x331]
add eax, 2
jmp 0x73ee654f
push 4
lea eax, [ebp - 0x348]
push eax
push dword [ebp - 0x340]
push dword [ebp - 0x344]
call fcn.73dd7f01
test eax, eax
jne 0x73ee611e
mov eax, dword [ebp - 0x348]
add eax, 5
cdq
mov ecx, eax
add ecx, dword [ebp - 0x358]
mov dword [ebp - 0x358], ecx
adc edx, dword [ebp - 0x354]
xor eax, eax
mov dword [ebp - 0x354], edx
cmp edx, eax
jb 0x73ee65a1
ja 0x73ee65a1
cmp ecx, dword [ebx + 0x1c]
jb 0x73ee65a1
cmp edx, eax
ja 0x73ee65a1
jb 0x73ee6582
cmp ecx, dword [ebx + 0x20]
jae 0x73ee65a1
cmp ecx, dword [ebx + 0x1c]
jne 0x73ee6437
cmp edx, eax
jne 0x73ee6437
mov eax, dword [ebp - 0x22c]
test byte [eax], 0x20
jmp 0x73ee6431
mov esi, dword [ebp - 0x35c]
mov eax, edx
mov edx, dword [ebp - 0x374]
add ecx, esi
adc eax, edx
push eax
push ecx
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x3b8]
push edx
push esi
sub esp, 0xc
lea esi, [ebx + 0x1c]
mov edi, esp
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.73ee4ed8
mov esi, eax
lea edi, [ebp - 0x3a8]
lea ecx, [ebp - 0x3a8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.73ee4de0
test eax, eax
je 0x73ee660d
mov eax, dword [ebp - 0x358]
cmp eax, dword [ebp - 0x3a8]
jne 0x73ee6437
cmp dword [ebp - 0x354], 0
jne 0x73ee6437
mov edi, dword [ebp - 0x38c]
mov esi, dword [ebx + 0x14]
mov eax, dword [ebp - 0x360]
add eax, 0x78
mov dword [ebp - 0x344], eax
lea eax, [ebp - 0x331]
push 1
push eax
mov eax, dword [ebp - 0x338]
push edi
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
je 0x73ee6649
push edi
push esi
jmp 0x73ee5f50
mov al, byte [ebp - 0x331]
and al, 0xf8
cmp al, 0x48
jne 0x73ee6ab1
xor eax, eax
mov ecx, esi
inc eax
mov edx, edi
add ecx, eax
push eax
lea eax, [ebp - 0x331]
mov dword [ebp - 0x35c], ecx
push eax
mov eax, dword [ebp - 0x338]
adc edx, 0
push edx
push ecx
mov dword [ebp - 0x340], edx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
je 0x73ee669e
push dword [ebp - 0x340]
push dword [ebp - 0x35c]
jmp 0x73ee5f50
cmp byte [ebp - 0x331], 0x83
mov eax, dword [ebp - 0x338]
push 1
mov edx, dword [eax + 8]
jne 0x73ee6712
mov eax, esi
mov ecx, edi
add eax, 3
lea esi, [ebp - 0x331]
push esi
adc ecx, 0
mov dword [ebp - 0x358], eax
push ecx
mov dword [ebp - 0x354], ecx
mov ecx, edx
push eax
call fcn.73dd7f01
mov esi, dword [ebx + 0x14]
test eax, eax
je 0x73ee66f0
push dword [ebp - 0x354]
push dword [ebp - 0x358]
jmp 0x73ee5f50
movsx eax, byte [ebp - 0x331]
mov ecx, dword [ebp - 0x360]
cdq
add dword [ecx + 0x98], eax
adc dword [ecx + 0x9c], edx
add esi, 4
jmp 0x73ee6aae
lea eax, [ebp - 0x331]
mov ecx, edx
push eax
push dword [ebp - 0x340]
push dword [ebp - 0x35c]
call fcn.73dd7f01
test eax, eax
jne 0x73ee668d
cmp byte [ebp - 0x331], 0x81
mov eax, dword [ebp - 0x338]
push 1
mov edx, dword [eax + 8]
jne 0x73ee6865
mov eax, esi
mov ecx, edi
add eax, 3
lea esi, [ebp - 0x339]
push esi
adc ecx, 0
mov dword [ebp - 0x358], eax
push ecx
mov dword [ebp - 0x354], ecx
mov ecx, edx
push eax
call fcn.73dd7f01
mov esi, dword [ebx + 0x14]
test eax, eax
jne 0x73ee66df
mov eax, esi
lea edx, [ebp - 0x332]
add eax, 4
mov ecx, edi
push 1
adc ecx, 0
mov dword [ebp - 0x358], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x354], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee66df
mov eax, esi
lea edx, [ebp - 0x349]
add eax, 5
mov ecx, edi
push 1
adc ecx, 0
mov dword [ebp - 0x358], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x354], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee66df
mov eax, esi
lea edx, [ebp - 0x331]
add eax, 6
mov ecx, edi
push 1
adc ecx, 0
mov dword [ebp - 0x358], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x354], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee66df
movzx eax, byte [ebp - 0x331]
movzx ecx, byte [ebp - 0x349]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x332]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x339]
shl eax, 8
or eax, ecx
mov ecx, dword [ebp - 0x360]
cdq
add dword [ecx + 0x98], eax
adc dword [ecx + 0x9c], edx
jmp 0x73ee6aab
lea eax, [ebp - 0x339]
mov ecx, edx
push eax
push dword [ebp - 0x340]
push dword [ebp - 0x35c]
call fcn.73dd7f01
test eax, eax
jne 0x73ee668d
cmp byte [ebp - 0x339], 0x8d
jne 0x73ee6ab1
mov eax, esi
lea edx, [ebp - 0x339]
add eax, 2
mov ecx, edi
push 1
adc ecx, 0
mov dword [ebp - 0x35c], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x340], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee668d
mov al, byte [ebp - 0x339]
and al, 0xf8
push 1
cmp al, 0x60
jne 0x73ee693f
mov edx, dword [ebp - 0x368]
mov ecx, dword [ebp - 0x344]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov edx, dword [ebp - 0x360]
mov dword [edx + 0x98], eax
mov eax, esi
mov dword [edx + 0x9c], ecx
add eax, 3
lea edx, [ebp - 0x339]
mov dword [ebp - 0x358], eax
mov ecx, edi
adc ecx, 0
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x354], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee66df
movsx eax, byte [ebp - 0x339]
jmp 0x73ee66f7
lea eax, [ebp - 0x339]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x340]
push dword [ebp - 0x35c]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee668d
mov al, byte [ebp - 0x339]
and al, 0xf8
cmp al, 0xa0
jne 0x73ee6ab1
mov eax, esi
lea edx, [ebp - 0x332]
add eax, 3
mov ecx, edi
push 1
adc ecx, 0
mov dword [ebp - 0x358], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x354], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee66df
mov eax, esi
lea edx, [ebp - 0x349]
add eax, 4
mov ecx, edi
push 1
adc ecx, 0
mov dword [ebp - 0x358], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x354], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee66df
mov eax, esi
lea edx, [ebp - 0x331]
add eax, 5
mov ecx, edi
push 1
adc ecx, 0
mov dword [ebp - 0x358], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x354], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee66df
mov eax, esi
lea edx, [ebp - 0x339]
add eax, 6
mov ecx, edi
push 1
adc ecx, 0
mov dword [ebp - 0x358], eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x354], ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee66df
movzx eax, byte [ebp - 0x339]
movzx ecx, byte [ebp - 0x331]
mov edi, dword [ebp - 0x368]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x349]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x332]
shl eax, 8
or eax, ecx
mov ecx, dword [ebp - 0x344]
cdq
add eax, dword [ecx + edi*8]
adc edx, dword [ecx + edi*8 + 4]
mov ecx, dword [ebp - 0x360]
mov edi, dword [ebp - 0x38c]
mov dword [ecx + 0x98], eax
mov dword [ecx + 0x9c], edx
add esi, 7
adc edi, 0
push 1
lea eax, [ebp - 0x332]
push eax
mov eax, dword [ebp - 0x338]
push edi
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee6642
mov eax, dword [ebp - 0x360]
add eax, 0x98
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x338]
push 1
mov ecx, dword [eax + 8]
mov al, byte [ebp - 0x332]
and al, 0xf8
cmp al, 0x58
jne 0x73ee6bac
lea eax, [ebp - 0x339]
push eax
push edi
push esi
call fcn.73dd7f01
test eax, eax
jne 0x73ee6642
mov eax, dword [ebp - 0x360]
lea edx, [ebp - 0x378]
push 8
push edx
mov ecx, dword [eax + 0x98]
mov eax, dword [eax + 0x9c]
push eax
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x384], ecx
push ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee6d25
movzx edx, byte [ebp - 0x339]
mov ecx, dword [ebp - 0x344]
and edx, 7
mov eax, dword [ebp - 0x378]
push 0
mov dword [ecx + edx*8], eax
mov eax, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x374]
mov dword [eax + edx*8 + 4], ecx
mov ecx, dword [ebp - 0x360]
pop eax
add dword [ecx + 0x98], 8
adc dword [ecx + 0x9c], eax
xor edx, edx
inc edx
add ecx, 0x98
mov dword [ebp - 0x340], ecx
jmp 0x73ee6cfb
lea eax, [ebp - 0x331]
push eax
push edi
push esi
call fcn.73dd7f01
test eax, eax
jne 0x73ee6642
mov al, byte [ebp - 0x331]
and al, 0xf0
cmp al, 0x40
jne 0x73ee6d41
xor eax, eax
mov ecx, esi
inc eax
mov edx, edi
add ecx, eax
push eax
lea eax, [ebp - 0x349]
mov dword [ebp - 0x35c], ecx
push eax
mov eax, dword [ebp - 0x338]
adc edx, 0
push edx
push ecx
mov dword [ebp - 0x368], edx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee6d36
mov al, byte [ebp - 0x349]
mov ecx, dword [ebp - 0x354]
and al, 0xf8
mov dword [ebp - 0x340], ecx
cmp al, 0x58
jne 0x73ee6d41
push 1
lea eax, [ebp - 0x379]
push eax
mov eax, dword [ebp - 0x338]
push edi
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee6642
push 1
lea eax, [ebp - 0x361]
push eax
mov eax, dword [ebp - 0x338]
push dword [ebp - 0x368]
push dword [ebp - 0x35c]
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee6d36
mov eax, dword [ebp - 0x360]
lea edx, [ebp - 0x390]
add eax, 0x98
push 8
mov dword [ebp - 0x340], eax
push edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x384], ecx
push ecx
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
jne 0x73ee6d25
movzx edx, byte [ebp - 0x379]
movzx eax, byte [ebp - 0x361]
and edx, 1
mov ecx, dword [ebp - 0x344]
and eax, 7
shl edx, 3
or edx, eax
mov eax, dword [ebp - 0x390]
push 0
mov dword [ecx + edx*8], eax
mov eax, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x38c]
mov dword [eax + edx*8 + 4], ecx
mov ecx, dword [ebp - 0x340]
pop eax
push 2
pop edx
add dword [ecx], 8
adc dword [ecx + 4], eax
add esi, edx
push 1
adc edi, eax
lea eax, [ebp - 0x332]
push eax
mov eax, dword [ebp - 0x338]
push edi
push esi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
je 0x73ee6ae9
jmp 0x73ee6642
push dword [ebp - 0x358]
push dword [ebp - 0x384]
jmp 0x73ee5f50
push dword [ebp - 0x368]
jmp 0x73ee6693
mov esi, dword [ebp - 0x340]
lea ecx, [ebp - 0x378]
push 8
push ecx
mov eax, dword [esi + 4]
mov edi, dword [esi]
push eax
mov dword [ebp - 0x354], eax
mov eax, dword [ebp - 0x338]
push edi
mov ecx, dword [eax + 8]
call fcn.73dd7f01
test eax, eax
je 0x73ee6d7b
push dword [ebp - 0x354]
push edi
jmp 0x73ee5f50
mov edx, dword [ebp - 0x360]
add dword [esi], 8
mov eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 0x374]
adc dword [esi + 4], 0
mov dword [edx + 0xf8], eax
mov dword [edx + 0xfc], ecx
jmp 0x73ee6ed7
mov edx, dword [ebp - 0x344]
mov al, byte [edx + 2]
mov byte [ebp - 0x361], al
test al, al
je 0x73ee6437
movzx ecx, word [edx + 4]
mov word [ebp - 0x340], cx
shr ecx, 8
mov al, cl
and al, 0xf
cmp al, 6
jne 0x73ee6437
mov edi, dword [ebp - 0x380]
sub edi, dword [ebp - 0x36c]
movzx esi, byte [ebp - 0x340]
mov dword [ebp - 0x354], esi
mov dword [ebp - 0x348], edi
test cl, 0x10
je 0x73ee6e0b
mov ecx, dword [ebx + 0x20]
mov eax, edi
sub ecx, esi
sub eax, ecx
cmp eax, esi
jb 0x73ee6e97
movzx eax, byte [ebp - 0x361]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x358], eax
cmp eax, ecx
jbe 0x73ee6437
lea eax, [edx + 6]
mov dword [ebp - 0x368], eax
movzx edx, word [eax]
mov word [ebp - 0x340], dx
shr edx, 8
mov al, dl
and al, 0xf
cmp al, 6
jne 0x73ee6437
movzx eax, byte [ebp - 0x340]
movzx esi, dl
shr esi, 4
shl esi, 8
add esi, eax
je 0x73ee6437
mov edx, dword [ebx + 0x20]
mov eax, edi
sub edx, esi
sub eax, edx
mov dword [ebp - 0x344], edx
cmp eax, dword [ebp - 0x354]
jb 0x73ee6e91
mov eax, dword [ebp - 0x368]
inc ecx
add eax, 2
mov dword [ebp - 0x368], eax
cmp ecx, dword [ebp - 0x358]
jb 0x73ee6e2c
jmp 0x73ee6437
mov ecx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x348]
lea esi, [ebx + 0x1c]
push ecx
push dword [ebp - 0x360]
sub eax, ecx
sub esp, 0xc
mov edi, esp
push eax
push ecx
movsd dword es:[edi], dword [esi]
push ecx
push dword [ebp - 0x374]
mov ecx, dword [ebp - 0x338]
push dword [ebp - 0x35c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.73ee505d
mov esi, dword [ebp - 0x360]
add esi, 0x98
cmp dword [ebp - 0x398], 0
je 0x73ee6f4e
mov ecx, dword [esi]
mov eax, dword [esi + 4]
add ecx, 0xfffffff8
mov edx, dword [ebp - 0x394]
adc eax, 0xffffffff
mov dword [edx], ecx
mov dword [edx + 4], eax
jmp 0x73ee6f4e
push dword [ebp - 0x374]
mov esi, dword [ebp - 0x380]
lea ecx, [ebp - 0x330]
push dword [ebp - 0x35c]
sub esi, dword [ebx + 0x1c]
push dword [ebx + 0x24]
sub esi, dword [ebp - 0x36c]
push edi
call fcn.73ee6fa1
mov ecx, dword [ebp - 0x22c]
movzx eax, byte [ecx + 1]
cmp esi, eax
jb 0x73ee6f4e
movzx eax, byte [ecx]
test al, 8
je 0x73ee6f4e
movzx eax, byte [ecx + 2]
test al, 1
je 0x73ee6f40
inc eax
lea eax, [eax + 4]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 0x384]
mov dword [ecx], eax
lea ecx, [ebp - 0x330]
call fcn.73ee4db7
xor eax, eax
mov ecx, dword [ebp - 0x14]
call fcn.73eed1f8
ret 0x3c
mov ecx, dword [ebp - 0x380]
push ecx
mov ecx, dword [ebp - 0x36c]
push ecx
push 0x73dbfcc4
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.73ee92ef
add esp, 0x14
lea eax, [ebp - 0x228]
push 0x73f33e54
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3