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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1d8
mov esi, esp
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [esi + 0x64], eax
xor eax, eax
mov dword [esi + 0x60], eax
mov eax, dword [0x1000e0b8]
mov dword [esi + 0x5c], eax
mov eax, dword [0x1000e0b4]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x60]
sub eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x50], ecx
mov ecx, dword [esi + 0x54]
add eax, ecx
mov ecx, dword [esi + 0x5c]
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
and al, 1
mov byte [esi + 0x72], al
mov ecx, dword [esi + 0x58]
cmp ecx, 0xa
setl al
and al, 1
mov byte [esi + 0x73], al
mov dword [esi + 0x6c], 0x19c25576
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], edi
mov dword [esi + 0x44], ebx
mov eax, dword [esi + 0x6c]
mov ecx, eax
sub ecx, 0x8172e160
mov dword [esi + 0x40], eax
je 0x1000c04c
jmp 0x1000aed7
mov eax, dword [esi + 0x40]
sub eax, 0x8348f6b1
je 0x1000c773
jmp 0x1000aeea
mov eax, dword [esi + 0x40]
sub eax, 0x83e7d657
je 0x1000c2d0
jmp 0x1000aefd
mov eax, dword [esi + 0x40]
sub eax, 0x85f313dd
je 0x1000b948
jmp 0x1000af10
mov eax, dword [esi + 0x40]
sub eax, 0x89756291
je 0x1000c370
jmp 0x1000af23
mov eax, dword [esi + 0x40]
sub eax, 0x8a435cae
je 0x1000c358
jmp 0x1000af36
mov eax, dword [esi + 0x40]
sub eax, 0x8a87afb3
je 0x1000be35
jmp 0x1000af49
mov eax, dword [esi + 0x40]
sub eax, 0x8ee99e8a
je 0x1000b745
jmp 0x1000af5c
mov eax, dword [esi + 0x40]
sub eax, 0x928a6eee
je 0x1000be62
jmp 0x1000af6f
mov eax, dword [esi + 0x40]
sub eax, 0x9b44d34e
je 0x1000c283
jmp 0x1000af82
mov eax, dword [esi + 0x40]
sub eax, 0x9c6877b4
je 0x1000c364
jmp 0x1000af95
mov eax, dword [esi + 0x40]
sub eax, 0xa06dcf93
je 0x1000b898
jmp 0x1000afa8
mov eax, dword [esi + 0x40]
sub eax, 0xa6368bda
je 0x1000b8b5
jmp 0x1000afbb
mov eax, dword [esi + 0x40]
sub eax, 0xabd73db3
je 0x1000bb8d
jmp 0x1000afce
mov eax, dword [esi + 0x40]
sub eax, 0xb204bdb8
je 0x1000c595
jmp 0x1000afe1
mov eax, dword [esi + 0x40]
sub eax, 0xcd8593d4
je 0x1000bc5c
jmp 0x1000aff4
mov eax, dword [esi + 0x40]
sub eax, 0xcdac620f
je 0x1000c7ec
jmp 0x1000b007
mov eax, dword [esi + 0x40]
sub eax, 0xd153a097
je 0x1000c797
jmp 0x1000b01a
mov eax, dword [esi + 0x40]
sub eax, 0xd2e33ad9
je 0x1000c02b
jmp 0x1000b02d
mov eax, dword [esi + 0x40]
sub eax, 0xd3e6f5ad
je 0x1000c560
jmp 0x1000b040
mov eax, dword [esi + 0x40]
sub eax, 0xdcc8a5db
je 0x1000c462
jmp 0x1000b053
mov eax, dword [esi + 0x40]
sub eax, 0xe0c0a972
je 0x1000c7a3
jmp 0x1000b066
mov eax, dword [esi + 0x40]
sub eax, 0xe29b5db5
je 0x1000bd01
jmp 0x1000b079
mov eax, dword [esi + 0x40]
sub eax, 0xe74efe71
je 0x1000b58b
jmp 0x1000b08c
mov eax, dword [esi + 0x40]
sub eax, 0xe87e9a24
je 0x1000c5b9
jmp 0x1000b09f
mov eax, dword [esi + 0x40]
sub eax, 0xeb0f834b
je 0x1000bd83
jmp 0x1000b0b2
mov eax, dword [esi + 0x40]
sub eax, 0xf1ddf5d4
je 0x1000bd8f
jmp 0x1000b0c5
mov eax, dword [esi + 0x40]
sub eax, 0xf26f07ed
je 0x1000c34c
jmp 0x1000b0d8
mov eax, dword [esi + 0x40]
sub eax, 0xf65eb18c
je 0x1000bddc
jmp 0x1000b0eb
mov eax, dword [esi + 0x40]
sub eax, 0xfad80a01
je 0x1000c3e3
jmp 0x1000b0fe
mov eax, dword [esi + 0x40]
sub eax, 0xfdbda7a7
je 0x1000be29
jmp 0x1000b111
mov eax, dword [esi + 0x40]
sub eax, 0x858fc9
je 0x1000ba18
jmp 0x1000b124
mov eax, dword [esi + 0x40]
sub eax, 0x236500d
je 0x1000b3af
jmp 0x1000b137
mov eax, dword [esi + 0x40]
sub eax, 0x4817e64
je 0x1000be41
jmp 0x1000b14a
mov eax, dword [esi + 0x40]
sub eax, 0x50f34a4
je 0x1000b969
jmp 0x1000b15d
mov eax, dword [esi + 0x40]
sub eax, 0x52e2759
je 0x1000bf4e
jmp 0x1000b170
mov eax, dword [esi + 0x40]
sub eax, 0x95075e6
je 0x1000c7e0
jmp 0x1000b183
mov eax, dword [esi + 0x40]
sub eax, 0xcc271ca
je 0x1000c4d5
jmp 0x1000b196
mov eax, dword [esi + 0x40]
sub eax, 0xd5e53bc
je 0x1000bc0f
jmp 0x1000b1a9
mov eax, dword [esi + 0x40]
sub eax, 0x153012bc
je 0x1000b80d
jmp 0x1000b1bc
mov eax, dword [esi + 0x40]
sub eax, 0x193069da
je 0x1000c334
jmp 0x1000b1cf
mov eax, dword [esi + 0x40]
sub eax, 0x19c25576
je 0x1000b389
jmp 0x1000b1e2
mov eax, dword [esi + 0x40]
sub eax, 0x1bf8692a
je 0x1000bfa9
jmp 0x1000b1f5
mov eax, dword [esi + 0x40]
sub eax, 0x20873be2
je 0x1000b57f
jmp 0x1000b208
mov eax, dword [esi + 0x40]
sub eax, 0x306731b8
je 0x1000c785
jmp 0x1000b21b
mov eax, dword [esi + 0x40]
sub eax, 0x344e963a
je 0x1000c548
jmp 0x1000b22e
mov eax, dword [esi + 0x40]
sub eax, 0x374033e8
je 0x1000b7a1
jmp 0x1000b241
mov eax, dword [esi + 0x40]
sub eax, 0x43b56d9f
je 0x1000c456
jmp 0x1000b254
mov eax, dword [esi + 0x40]
sub eax, 0x4c725955
je 0x1000bee7
jmp 0x1000b267
mov eax, dword [esi + 0x40]
sub eax, 0x4e26fd2b
je 0x1000bfd6
jmp 0x1000b27a
mov eax, dword [esi + 0x40]
sub eax, 0x5052aafa
je 0x1000c5c6
jmp 0x1000b28d
mov eax, dword [esi + 0x40]
sub eax, 0x55d54ba4
je 0x1000c7bd
jmp 0x1000b2a0
mov eax, dword [esi + 0x40]
sub eax, 0x5d23f6cc
je 0x1000bfb5
jmp 0x1000b2b3
mov eax, dword [esi + 0x40]
sub eax, 0x5f0e110c
je 0x1000c6ba
jmp 0x1000b2c6
mov eax, dword [esi + 0x40]
sub eax, 0x613dae3c
je 0x1000c011
jmp 0x1000b2d9
mov eax, dword [esi + 0x40]
sub eax, 0x62f3b35f
je 0x1000bf08
jmp 0x1000b2ec
mov eax, dword [esi + 0x40]
sub eax, 0x63b425c5
je 0x1000c340
jmp 0x1000b2ff
mov eax, dword [esi + 0x40]
sub eax, 0x63e591d2
je 0x1000b611
jmp 0x1000b312
mov eax, dword [esi + 0x40]
sub eax, 0x642841fd
je 0x1000bce4
jmp 0x1000b325
mov eax, dword [esi + 0x40]
sub eax, 0x68688b9c
je 0x1000b5c4
jmp 0x1000b338
mov eax, dword [esi + 0x40]
sub eax, 0x728afbae
je 0x1000b9b8
jmp 0x1000b34b
mov eax, dword [esi + 0x40]
sub eax, 0x72aa1b49
je 0x1000c554
jmp 0x1000b35e
mov eax, dword [esi + 0x40]
sub eax, 0x73bd508f
je 0x1000b762
jmp 0x1000b371
mov eax, dword [esi + 0x40]
sub eax, 0x78d564f3
je 0x1000bff0
jmp 0x1000b384
jmp 0x1000c7f3
mov al, byte [esi + 0x72]
mov cl, byte [esi + 0x73]
mov dl, al
and dl, cl
xor al, cl
or dl, al
test dl, 1
mov edi, 0x236500d
mov ebx, 0x5052aafa
cmovne ebx, edi
mov dword [esi + 0x6c], ebx
jmp 0x1000c7f3
push eax
mov eax, esp
mov dword [esi + 0x74], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x78], eax
push eax
mov eax, esp
mov dword [esi + 0x7c], eax
push eax
mov eax, esp
mov dword [esi + 0x80], eax
push eax
mov eax, esp
mov dword [esi + 0x84], eax
push eax
mov eax, esp
mov dword [esi + 0x88], eax
push eax
mov eax, esp
mov dword [esi + 0x8c], eax
push eax
mov eax, esp
mov dword [esi + 0x90], eax
push eax
mov eax, esp
mov dword [esi + 0x94], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x98], eax
push eax
mov eax, esp
mov dword [esi + 0x9c], eax
push eax
mov eax, esp
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x64]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x50]
mov dword [eax], edx
mov eax, dword [esi + 0x7c]
mov edi, dword [esi + 0x4c]
mov dword [eax], edi
mov eax, dword [esi + 0x80]
mov ebx, dword [esi + 0x48]
mov dword [eax], ebx
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x44]
mov dword [eax], ecx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0x88]
mov dword [eax], 0
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x1d0], eax
mov eax, dword [esi + 0x8c]
mov word [eax], 0
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x1cc], eax
mov eax, dword [esi + 0x90]
mov dword [eax], 0
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x1c8], eax
mov eax, dword [esi + 0x94]
mov dword [eax], 0
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x1c4], eax
mov eax, dword [esi + 0x98]
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x1c0], eax
mov eax, dword [esi + 0x9c]
mov dword [eax], 0
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x1bc], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x1b8], eax
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
add edx, 0xf57c67e5
sub edx, 1
sub edx, 0xf57c67e5
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl ah
mov cl, al
xor cl, 0xff
mov ch, ah
xor ch, 0xff
mov dl, 1
xor dl, 1
mov dh, cl
and dh, 0xff
and al, dl
mov bl, ch
and bl, 0xff
and ah, dl
or dh, al
or bl, ah
xor dh, bl
or cl, ch
xor cl, 0xff
or dl, 1
and cl, dl
or dh, cl
test dh, 1
mov ebx, 0x20873be2
mov eax, 0x5052aafa
cmovne eax, ebx
mov dword [esi + 0x6c], eax
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0xe74efe71
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov ecx, eax
sub ecx, 0x90f61783
add ecx, 0xffffffff
add ecx, 0x90f61783
mov edx, dword [esi + 0x80]
mov dword [edx], ecx
cmp eax, 0
mov eax, 0x68688b9c
mov ecx, 0xb204bdb8
cmovne ecx, eax
mov dword [esi + 0x6c], ecx
jmp 0x1000c7f3
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
add edx, 0x42035552
sub edx, 1
sub edx, 0x42035552
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x63e591d2
mov edx, 0x5f0e110c
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
xor eax, eax
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x1b4], ecx
mov ecx, dword [esi + 0x7c]
mov ecx, dword [ecx]
movzx ecx, word [ecx]
xor ecx, 0xffffffff
mov edx, 0xffffffff
mov edi, edx
xor edi, 0xfff
xor edx, 0xd4412c91
or ecx, edi
or edx, 0xd4412c91
xor ecx, 0xffffffff
and ecx, edx
mov edx, dword [esi + 0x8c]
mov word [edx], cx
mov edx, dword [esi + 0x80]
mov edx, dword [edx]
mov dword [esi + 0x1b0], edx
mov edx, dword [esi + 0x84]
mov edx, dword [edx]
mov edi, dword [esi + 0x8c]
movzx edi, word [edi]
mov ebx, eax
sub ebx, edx
mov edx, eax
sub edx, edi
add ebx, edx
sub eax, ebx
mov edx, dword [esi + 0x88]
mov dword [edx], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x1ac], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
movzx eax, word [eax]
sar eax, 0xc
mov edx, dword [esi + 0xa0]
mov word [edx], ax
mov edx, dword [esi + 0x80]
mov edx, dword [edx]
mov dword [esi + 0x1a8], edx
mov edx, dword [esi + 0xa0]
movsx edx, word [edx]
cmp edx, 3
sete al
and al, 1
mov byte [esi + 0xa5], al
mov edx, dword [0x1000e0b8]
mov edi, dword [0x1000e0b4]
mov ebx, edx
sub ebx, 0x3bbd148f
sub ebx, 1
add ebx, 0x3bbd148f
imul edx, ebx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 0xff
mov ch, ah
xor ch, 0xff
mov dl, 1
xor dl, 0
mov dh, cl
and dh, 0
and al, dl
mov bl, ch
and bl, 0
and ah, dl
or dh, al
or bl, ah
xor dh, bl
or cl, ch
xor cl, 0xff
or dl, 0
and cl, dl
or dh, cl
test dh, 1
mov edi, 0x8ee99e8a
mov ebx, 0x5f0e110c
cmovne ebx, edi
mov dword [esi + 0x6c], ebx
jmp 0x1000c7f3
mov al, byte [esi + 0xa5]
test al, 1
mov ecx, 0x73bd508f
mov edx, 0x374033e8
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
xor eax, eax
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x1a4], ecx
mov ecx, dword [esi + 0x78]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x88]
mov edx, dword [edx]
mov edi, dword [edx]
sub eax, ecx
sub edi, eax
mov dword [edx], edi
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x1a0], eax
mov dword [esi + 0x6c], 0xd3e6f5ad
jmp 0x1000c7f3
xor eax, eax
mov ecx, dword [0x1000e0b8]
mov edx, dword [0x1000e0b4]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0x153012bc
mov edx, 0x8348f6b1
cmovne edx, edi
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov eax, dword [esi + 0xa0]
movsx eax, word [eax]
cmp eax, 1
sete cl
and cl, 1
mov byte [esi + 0xa6], cl
mov eax, dword [0x1000e0b8]
mov edx, dword [0x1000e0b4]
mov edi, eax
sub edi, 0x142ab47d
sub edi, 1
add edi, 0x142ab47d
imul eax, edi
and eax, 1
cmp eax, 0
sete cl
cmp edx, 0xa
setl ch
mov bl, cl
xor bl, 0xff
mov bh, ch
xor bh, 0xff
mov al, 1
xor al, 0
mov ah, bl
and ah, 0
and cl, al
mov dl, bh
and dl, 0
and ch, al
or ah, cl
or dl, ch
xor ah, dl
or bl, bh
xor bl, 0xff
or al, 0
and bl, al
or ah, bl
test ah, 1
mov edi, 0xa06dcf93
mov edx, 0x8348f6b1
cmovne edx, edi
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov al, byte [esi + 0xa6]
test al, 1
mov ecx, 0xa6368bda
mov edx, 0x85f313dd
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x19c], eax
mov eax, dword [esi + 0x88]
mov eax, dword [eax]
movzx eax, word [eax]
shl eax, 0x10
mov ecx, dword [esi + 0x90]
mov dword [ecx], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x198], eax
mov eax, dword [esi + 0x78]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
add ecx, 0x9b4f0f0
add ecx, eax
sub ecx, 0x9b4f0f0
mov eax, dword [esi + 0x90]
mov dword [eax], ecx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x194], eax
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
sar eax, 0x10
mov ecx, dword [esi + 0x88]
mov ecx, dword [ecx]
mov word [ecx], ax
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x190], ecx
mov dword [esi + 0x6c], 0x72aa1b49
jmp 0x1000c7f3
mov eax, dword [esi + 0xa0]
movsx eax, word [eax]
cmp eax, 4
mov eax, 0x50f34a4
mov ecx, 0x4817e64
cmove ecx, eax
mov dword [esi + 0x6c], ecx
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x18c], eax
mov eax, dword [esi + 0x8c]
movzx eax, word [eax]
xor eax, 0xffffffff
mov ecx, 0xffffffff
mov edx, ecx
xor edx, 2
xor ecx, 0xa8cc34c
or eax, edx
or ecx, 0xa8cc34c
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
mov eax, 0x728afbae
mov ecx, 0x858fc9
cmovne ecx, eax
mov dword [esi + 0x6c], ecx
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x188], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
add eax, 2
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x184], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
sub eax, 0x5f00f94f
add eax, 0xffffffff
add eax, 0x5f00f94f
mov ecx, dword [esi + 0x80]
mov dword [ecx], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x180], eax
mov dword [esi + 0x6c], 0x8a87afb3
jmp 0x1000c7f3
xor eax, eax
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x17c], ecx
mov ecx, dword [esi + 0x88]
mov ecx, dword [ecx]
movzx ecx, word [ecx]
shl ecx, 0x10
mov edx, dword [esi + 0x90]
mov dword [edx], ecx
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x178], ecx
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x94]
mov dword [edx], ecx
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x174], ecx
mov ecx, dword [esi + 0x7c]
mov ecx, dword [ecx]
add ecx, 2
mov edx, dword [esi + 0x7c]
mov dword [edx], ecx
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x170], ecx
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
dec ecx
mov edx, dword [esi + 0x80]
mov dword [edx], ecx
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x16c], ecx
mov ecx, dword [esi + 0x7c]
mov ecx, dword [ecx]
movsx ecx, word [ecx]
mov edx, dword [esi + 0x90]
mov edx, dword [edx]
add edx, ecx
mov ecx, dword [esi + 0x90]
mov dword [ecx], edx
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x168], ecx
mov ecx, dword [esi + 0x78]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x90]
mov edx, dword [edx]
add edx, ecx
mov ecx, dword [esi + 0x90]
mov dword [ecx], edx
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x164], ecx
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
add ecx, 0x8000
mov edx, dword [esi + 0x90]
mov dword [edx], ecx
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x160], ecx
mov ecx, dword [esi + 0x90]
mov di, word [ecx + 2]
mov ecx, dword [esi + 0x88]
mov ecx, dword [ecx]
mov word [ecx], di
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x15c], ecx
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x94]
mov edx, dword [edx]
sub ecx, edx
shr ecx, 0x10
mov edx, dword [esi + 0x78]
mov edx, dword [edx]
shr edx, 0x10
sub eax, edx
add ecx, eax
mov eax, dword [esi + 0x9c]
mov dword [eax], ecx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x158], eax
mov eax, dword [esi + 0x9c]
cmp dword [eax], 1
mov eax, 0xabd73db3
mov ecx, 0xd5e53bc
cmove ecx, eax
mov dword [esi + 0x6c], ecx
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x154], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
movzx ecx, word [eax - 2]
mov edx, ecx
xor edx, 0xffffffff
mov edi, 0xffffffff
mov ebx, edi
xor ebx, 1
xor edi, 0xa2d8d770
mov dword [esi + 0x3c], edx
and edx, 0xa2d8d770
and ecx, edi
mov dword [esi + 0x38], ebx
and ebx, 0xa2d8d770
mov dword [esi + 0x34], edi
and edi, 1
or edx, ecx
or ebx, edi
xor edx, ebx
mov ecx, dword [esi + 0x3c]
mov edi, dword [esi + 0x38]
or ecx, edi
xor ecx, 0xffffffff
mov ebx, dword [esi + 0x34]
or ebx, 0xa2d8d770
and ecx, ebx
or edx, ecx
mov word [eax - 2], dx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x150], eax
mov dword [esi + 0x6c], 0xf1ddf5d4
jmp 0x1000c7f3
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
sub edx, 0x15cfeb83
sub edx, 1
add edx, 0x15cfeb83
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xcd8593d4
mov edx, 0x306731b8
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov eax, dword [esi + 0x9c]
cmp dword [eax], 0
setne cl
and cl, 1
mov byte [esi + 0xa7], cl
mov eax, dword [0x1000e0b8]
mov edx, dword [0x1000e0b4]
mov edi, eax
sub edi, 0x5534341f
sub edi, 1
add edi, 0x5534341f
imul eax, edi
and eax, 1
cmp eax, 0
sete cl
cmp edx, 0xa
setl ch
mov bl, cl
xor bl, 0xff
mov bh, ch
xor bh, 0xff
mov al, 1
xor al, 0
mov ah, bl
and ah, 0
and cl, al
mov dl, bh
and dl, 0
and ch, al
or ah, cl
or dl, ch
xor ah, dl
or bl, bh
xor bl, 0xff
or al, 0
and bl, al
or ah, bl
test ah, 1
mov edi, 0x642841fd
mov edx, 0x306731b8
cmovne edx, edi
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov al, byte [esi + 0xa7]
test al, 1
mov ecx, 0xe29b5db5
mov edx, 0xeb0f834b
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x14c], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
movzx ecx, word [eax - 2]
mov edx, ecx
xor edx, 0xffffffff
mov edi, 0xffffffff
mov ebx, edi
xor ebx, 2
xor edi, 0x2cb8303c
mov dword [esi + 0x30], edx
and edx, 0x2cb8303c
and ecx, edi
mov dword [esi + 0x2c], ebx
and ebx, 0x2cb8303c
mov dword [esi + 0x28], edi
and edi, 2
or edx, ecx
or ebx, edi
xor edx, ebx
mov ecx, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
or ecx, edi
xor ecx, 0xffffffff
mov ebx, dword [esi + 0x28]
or ebx, 0x2cb8303c
and ecx, ebx
or edx, ecx
mov word [eax - 2], dx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x148], eax
mov dword [esi + 0x6c], 0xeb0f834b
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0xf1ddf5d4
jmp 0x1000c7f3
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
add edx, 0x7fe8e7be
sub edx, 1
sub edx, 0x7fe8e7be
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xf65eb18c
mov edx, 0xd153a097
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
sub edx, 0x28eecfaf
sub edx, 1
add edx, 0x28eecfaf
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xfdbda7a7
mov edx, 0xd153a097
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0x8a87afb3
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0xdcc8a5db
jmp 0x1000c7f3
mov eax, dword [esi + 0xa0]
movsx eax, word [eax]
cmp eax, 2
mov eax, 0x928a6eee
mov ecx, 0x4c725955
cmove ecx, eax
mov dword [esi + 0x6c], ecx
jmp 0x1000c7f3
xor eax, eax
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x144], ecx
mov ecx, dword [esi + 0x88]
mov ecx, dword [ecx]
movsx ecx, word [ecx]
mov edx, dword [esi + 0x90]
mov dword [edx], ecx
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x140], ecx
mov ecx, dword [esi + 0x78]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x90]
mov edx, dword [edx]
sub eax, ecx
sub edx, eax
mov eax, dword [esi + 0x90]
mov dword [eax], edx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x13c], eax
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
mov ecx, dword [esi + 0x88]
mov ecx, dword [ecx]
mov word [ecx], ax
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0x138], ecx
mov dword [esi + 0x6c], 0x89756291
jmp 0x1000c7f3
mov eax, dword [esi + 0xa0]
movsx eax, word [eax]
cmp eax, 0
mov eax, 0x62f3b35f
mov ecx, 0x5d23f6cc
cmove ecx, eax
mov dword [esi + 0x6c], ecx
jmp 0x1000c7f3
xor eax, eax
mov ecx, dword [0x1000e0b8]
mov edx, dword [0x1000e0b4]
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x52e2759
mov edx, 0xe0c0a972
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x134], eax
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
sub edx, 0x526645fb
sub edx, 1
add edx, 0x526645fb
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x1bf8692a
mov edx, 0xe0c0a972
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0x9c6877b4
jmp 0x1000c7f3
mov eax, dword [esi + 0xa0]
movsx eax, word [eax]
cmp eax, 6
mov eax, 0x4e26fd2b
mov ecx, 0x78d564f3
cmove ecx, eax
mov dword [esi + 0x6c], ecx
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x130], eax
mov dword [esi + 0x6c], 0x8a435cae
jmp 0x1000c7f3
mov eax, dword [esi + 0xa0]
movsx eax, word [eax]
cmp eax, 7
mov eax, 0x613dae3c
mov ecx, 0xd2e33ad9
cmove ecx, eax
mov dword [esi + 0x6c], ecx
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x12c], eax
mov dword [esi + 0x6c], 0xf26f07ed
jmp 0x1000c7f3
mov eax, dword [esi + 0xa0]
movsx eax, word [eax]
cmp eax, 0xb
mov eax, 0x8172e160
mov ecx, 0x9b44d34e
cmove ecx, eax
mov dword [esi + 0x6c], ecx
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x128], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
add eax, 2
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
dec eax
mov ecx, dword [esi + 0x80]
mov dword [ecx], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x88]
mov eax, dword [eax]
movzx eax, word [eax]
shl eax, 0x10
mov ecx, eax
sar ecx, 0x1f
mov edx, dword [esi + 0x98]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x11c], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
movsx eax, word [eax + 2]
mov ecx, eax
sar ecx, 0x1f
mov edx, dword [esi + 0x98]
mov edi, dword [edx]
mov edx, dword [edx + 4]
add edi, eax
adc edx, ecx
mov eax, dword [esi + 0x98]
mov dword [eax], edi
mov dword [eax + 4], edx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x98]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, ecx
shl edx, 0x10
shld eax, ecx, 0x10
mov ecx, dword [esi + 0x98]
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x114], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
movzx eax, word [eax]
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
add edx, eax
adc ecx, 0
mov eax, dword [esi + 0x98]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x98]
mov edi, dword [edx]
mov edx, dword [edx + 4]
add edi, ecx
adc edx, eax
mov eax, dword [esi + 0x98]
mov dword [eax], edi
mov dword [eax + 4], edx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x98]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add ecx, 0x8000
adc eax, 0
mov edx, dword [esi + 0x98]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0x98]
movzx ecx, word [eax + 2]
mov eax, dword [eax + 4]
mov edx, eax
shl edx, 0x10
or ecx, edx
sar eax, 0x10
mov edx, dword [esi + 0x98]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x104], eax
mov eax, dword [esi + 0x98]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add ecx, 0x8000
adc eax, 0
mov edx, dword [esi + 0x98]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x98]
mov bx, word [eax + 2]
mov eax, dword [esi + 0x88]
mov eax, dword [eax]
mov word [eax], bx
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xfc], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
add eax, 2
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xf8], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
add eax, 0x737aed6c
add eax, 0xffffffff
sub eax, 0x737aed6c
mov ecx, dword [esi + 0x80]
mov dword [ecx], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xf4], eax
mov dword [esi + 0x6c], 0x63b425c5
jmp 0x1000c7f3
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
add edx, 0xdd24a648
sub edx, 1
sub edx, 0xdd24a648
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x83e7d657
mov edx, 0x55d54ba4
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0x74]
mov dword [eax], 0
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
add edx, 0x1fb27554
sub edx, 1
sub edx, 0x1fb27554
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x193069da
mov edx, 0x55d54ba4
cmovne edx, ecx
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0xe87e9a24
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0xf26f07ed
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0x8a435cae
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0x9c6877b4
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0x89756291
jmp 0x1000c7f3
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
sub edx, 0xa2d026ec
sub edx, 1
add edx, 0xa2d026ec
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0xfad80a01
mov edx, 0x95075e6
cmovne edx, edi
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
add edx, 0x2508ebe5
sub edx, 1
sub edx, 0x2508ebe5
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0x43b56d9f
mov edx, 0x95075e6
cmovne edx, edi
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0xdcc8a5db
jmp 0x1000c7f3
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
add edx, 0x1044f3ad
sub edx, 1
sub edx, 0x1044f3ad
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov edi, 0xcc271ca
mov edx, 0xcdac620f
cmovne edx, edi
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov eax, dword [0x1000e0b8]
mov ecx, dword [0x1000e0b4]
mov edx, eax
sub edx, 0xd99c321d
sub edx, 1
add edx, 0xd99c321d
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov edi, 0x344e963a
mov edx, 0xcdac620f
cmovne edx, edi
mov dword [esi + 0x6c], edx
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0x72aa1b49
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0xd3e6f5ad
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
add eax, 2
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xe8], eax
mov dword [esi + 0x6c], 0xe74efe71
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x74]
mov dword [ecx], eax
mov dword [esi + 0x6c], 0xe87e9a24
jmp 0x1000c7f3
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
mov eax, esp
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov edx, esp
push eax
mov edi, esp
mov ebx, edi
push eax
mov dword [esi + 0x24], eax
mov eax, esp
push eax
mov dword [esi + 0x20], eax
mov eax, esp
push eax
mov dword [esi + 0x1c], eax
mov eax, esp
push eax
mov dword [esi + 0x18], eax
mov eax, esp
push eax
mov dword [esi + 0x14], eax
mov eax, esp
sub esp, 8
mov dword [esi + 0x10], eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
mov dword [esi + 0xc], eax
mov eax, esp
push eax
mov dword [esi + 8], eax
mov eax, esp
mov dword [esi + 4], eax
mov eax, dword [esi + 0x64]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x50]
mov dword [ecx], eax
mov ecx, dword [esi + 0x4c]
mov dword [edx], ecx
mov edx, dword [esi + 0x48]
mov dword [edi], edx
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x44]
mov dword [eax], ecx
mov eax, dword [edi]
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov eax, dword [edi]
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0x18]
mov word [eax], 0
mov eax, dword [edi]
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0x14]
mov dword [eax], 0
mov eax, dword [edi]
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov edi, dword [edi]
mov dword [esi + 0xd0], edi
mov edi, dword [esi + 0xc]
mov dword [edi + 4], 0
mov dword [edi], 0
mov eax, dword [ebx]
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 8]
mov dword [eax], 0
mov eax, dword [ebx]
mov dword [esi + 0xc8], eax
mov eax, dword [ebx]
mov dword [esi + 0xc4], eax
mov dword [esi + 0x6c], 0x236500d
jmp 0x1000c7f3
xor eax, eax
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov dword [esi + 0xc0], ecx
mov ecx, dword [esi + 0x7c]
mov ecx, dword [ecx]
movzx ecx, word [ecx]
xor ecx, 0xffffffff
mov edx, 0xffffffff
mov edi, edx
xor edi, 0xfff
xor edx, 0x6a2b09dc
or ecx, edi
or edx, 0x6a2b09dc
xor ecx, 0xffffffff
and ecx, edx
mov edx, dword [esi + 0x8c]
mov word [edx], cx
mov edx, dword [esi + 0x80]
mov edx, dword [edx]
mov dword [esi + 0xbc], edx
mov edx, dword [esi + 0x84]
mov edx, dword [edx]
mov edi, dword [esi + 0x8c]
movzx edi, word [edi]
mov ebx, eax
sub ebx, edx
mov edx, eax
sub edx, edi
add ebx, edx
sub eax, ebx
mov edx, dword [esi + 0x88]
mov dword [edx], eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
movzx eax, word [eax]
sar eax, 0xc
mov edx, dword [esi + 0xa0]
mov word [edx], ax
mov edx, dword [esi + 0x80]
mov edx, dword [edx]
mov dword [esi + 0xb4], edx
mov edx, dword [esi + 0xa0]
mov dword [esi + 0x6c], 0x63e591d2
jmp 0x1000c7f3
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x6c], 0x153012bc
jmp 0x1000c7f3
mov eax, dword [esi + 0x9c]
mov dword [esi + 0x6c], 0xcd8593d4
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0xf65eb18c
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xb0], eax
mov dword [esi + 0x6c], 0x52e2759
jmp 0x1000c7f3
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0x74]
mov dword [eax], 0
mov dword [esi + 0x6c], 0x83e7d657
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0xfad80a01
jmp 0x1000c7f3
mov dword [esi + 0x6c], 0xcc271ca
jmp 0x1000aebe