Function at 0x12aeaf0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x730
mov esi, esp
mov al, byte [esi + 0x1fc]
mov byte [esi + 0x200], al
mov byte [esi + 0x74], 0x43
mov byte [esi + 0x75], 0xe1
mov eax, 2
mov byte [esi + eax + 0x74], 0
add eax, 1
cmp eax, 4
jne 0x12aeb1a
xor eax, eax
cmp eax, 4
jae 0x12aeb82
movzx ecx, byte [esi + eax + 0x74]
mov ebx, eax
add ebx, 0x18
mov edi, ecx
shl edi, 1
xor edi, 0xffffffff
add edi, ecx
mov edx, ecx
xor edx, 0xffffffff
and edi, edx
mov edx, 0x27
sub edx, eax
and edx, 0xea
and ebx, 0x15
or edx, ebx
xor edx, 0x15
or edx, edi
mov edi, 0x27
sub edi, eax
mov ebx, 0x27
sub ebx, eax
or edi, ebx
xor edi, 0xffffffff
or ecx, edi
and edx, ecx
add dl, 0xc8
mov byte [esi + eax + 0x74], dl
add eax, 1
jmp 0x12aeb29
call fcn.012b8930
call fcn.012b8930
sub esp, 8
lea eax, [esi + 0x74]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.012a1b20
add esp, 8
mov dword [esi + 0xb8], eax
push eax
mov ebx, esp
push eax
mov edi, esp
mov dword [ebx], 0x62ee5331
mov dword [edi], ebx
mov dword [esi + 8], ebx
mov dword [esi + 4], edi
mov eax, dword [ebx]
mov ecx, eax
sub ecx, 0x83c469ff
je 0x12b099a
jmp 0x12aebd0
mov ecx, eax
sub ecx, 0x8734ffff
je 0x12b0b1a
jmp 0x12aebe0
mov ecx, eax
sub ecx, 0x8ab53d86
je 0x12b2bc2
jmp 0x12aebf0
mov ecx, eax
sub ecx, 0x8d1b8bf7
je 0x12b3602
jmp 0x12aec00
mov ecx, eax
sub ecx, 0x8d654178
je 0x12b3562
jmp 0x12aec10
mov ecx, eax
sub ecx, 0x92cd6ac5
je 0x12b0879
jmp 0x12aec20
mov ecx, eax
sub ecx, 0x9602cde0
je 0x12b15fd
jmp 0x12aec30
mov ecx, eax
sub ecx, 0x9651e332
je 0x12b13cf
jmp 0x12aec40
mov ecx, eax
sub ecx, 0x96bf0812
je 0x12b351b
jmp 0x12aec50
mov ecx, eax
sub ecx, 0x976f6f2c
je 0x12b34e7
jmp 0x12aec60
mov ecx, eax
sub ecx, 0x978b6339
je 0x12b0f40
jmp 0x12aec70
mov ecx, eax
sub ecx, 0x994112a8
je 0x12b1db3
jmp 0x12aec80
mov ecx, eax
sub ecx, 0x9a6d1cc0
je 0x12b3613
jmp 0x12aec90
mov ecx, eax
sub ecx, 0x9b78125d
je 0x12b0004
jmp 0x12aeca0
mov ecx, eax
sub ecx, 0x9e8fad1a
je 0x12b35f2
jmp 0x12aecb0
mov ecx, eax
sub ecx, 0xa1df1b15
je 0x12afa73
jmp 0x12aecc0
mov ecx, eax
sub ecx, 0xa237c7f0
je 0x12b09e9
jmp 0x12aecd0
mov ecx, eax
sub ecx, 0xa46e7df2
je 0x12b35b3
jmp 0x12aece0
mov ecx, eax
sub ecx, 0xa60c0072
je 0x12b178c
jmp 0x12aecf0
mov ecx, eax
sub ecx, 0xa891c9ae
je 0x12b2e06
jmp 0x12aed00
mov ecx, eax
sub ecx, 0xa98aa460
je 0x12b2b60
jmp 0x12aed10
mov ecx, eax
sub ecx, 0xab5720d3
je 0x12b1d5b
jmp 0x12aed20
mov ecx, eax
sub ecx, 0xacaa8367
je 0x12b1920
jmp 0x12aed30
mov ecx, eax
sub ecx, 0xb23c79f4
je 0x12b06ee
jmp 0x12aed40
mov ecx, eax
sub ecx, 0xb37cece4
je 0x12b398b
jmp 0x12aed50
mov ecx, eax
sub ecx, 0xb39ba26b
je 0x12b35c0
jmp 0x12aed60
mov ecx, eax
sub ecx, 0xb5ea2e0f
je 0x12afa9f
jmp 0x12aed70
mov ecx, eax
sub ecx, 0xb801b300
je 0x12b0f33
jmp 0x12aed80
mov ecx, eax
sub ecx, 0xb9f2db80
je 0x12afaf6
jmp 0x12aed90
mov ecx, eax
sub ecx, 0xbb346e0a
je 0x12b1dc0
jmp 0x12aeda0
mov ecx, eax
sub ecx, 0xbd0c671e
je 0x12af974
jmp 0x12aedb0
mov ecx, eax
sub ecx, 0xbe2997fb
je 0x12b1395
jmp 0x12aedc0
mov ecx, eax
sub ecx, 0xbf7ffefe
je 0x12b2576
jmp 0x12aedd0
mov ecx, eax
sub ecx, 0xbfe4af52
je 0x12b2d1e
jmp 0x12aede0
mov ecx, eax
sub ecx, 0xc022c50b
je 0x12b2383
jmp 0x12aedf0
mov ecx, eax
sub ecx, 0xc1407e0a
je 0x12b31b5
jmp 0x12aee00
mov ecx, eax
sub ecx, 0xc5944b31
je 0x12affcb
jmp 0x12aee10
mov ecx, eax
sub ecx, 0xc5c22d8a
je 0x12b0b27
jmp 0x12aee20
mov ecx, eax
sub ecx, 0xc60253d1
je 0x12b358d
jmp 0x12aee30
mov ecx, eax
sub ecx, 0xc75be721
je 0x12b1e23
jmp 0x12aee40
mov ecx, eax
sub ecx, 0xc79adfaf
je 0x12b19c6
jmp 0x12aee50
mov ecx, eax
sub ecx, 0xc94205b6
je 0x12b0987
jmp 0x12aee60
mov ecx, eax
sub ecx, 0xca50d1c7
je 0x12b0840
jmp 0x12aee70
mov ecx, eax
sub ecx, 0xcb0e568e
je 0x12b2b00
jmp 0x12aee80
mov ecx, eax
sub ecx, 0xcdf77cdd
je 0x12b34f4
jmp 0x12aee90
mov ecx, eax
sub ecx, 0xce944242
je 0x12b0650
jmp 0x12aeea0
mov ecx, eax
sub ecx, 0xcea303fd
je 0x12b25b9
jmp 0x12aeeb0
mov ecx, eax
sub ecx, 0xcec9836b
je 0x12b13fc
jmp 0x12aeec0
mov ecx, eax
sub ecx, 0xd0d81781
je 0x12b3140
jmp 0x12aeed0
mov ecx, eax
sub ecx, 0xd1f09342
je 0x12b1d48
jmp 0x12aeee0
mov ecx, eax
sub ecx, 0xd1fe02f8
je 0x12b1b31
jmp 0x12aeef0
mov ecx, eax
sub ecx, 0xd31d2729
je 0x12b2fd4
jmp 0x12aef00
mov ecx, eax
sub ecx, 0xd378f92f
je 0x12afa4d
jmp 0x12aef10
mov ecx, eax
sub ecx, 0xd43154fc
je 0x12b306f
jmp 0x12aef20
mov ecx, eax
sub ecx, 0xd5f113d1
je 0x12b38f5
jmp 0x12aef30
mov ecx, eax
sub ecx, 0xd75171b4
je 0x12af987
jmp 0x12aef40
mov ecx, eax
sub ecx, 0xdb8e7350
je 0x12b1e4a
jmp 0x12aef50
mov ecx, eax
sub ecx, 0xdc160b3a
je 0x12b0b46
jmp 0x12aef60
mov ecx, eax
sub ecx, 0xdd28b314
je 0x12b35a0
jmp 0x12aef70
mov ecx, eax
sub ecx, 0xdd6fa0fc
je 0x12b39a0
jmp 0x12aef80
mov ecx, eax
sub ecx, 0xdd9a29ad
je 0x12af886
jmp 0x12aef90
mov ecx, eax
sub ecx, 0xddf2bda4
je 0x12b3446
jmp 0x12aefa0
mov ecx, eax
sub ecx, 0xe128ef1c
je 0x12b2c05
jmp 0x12aefb0
mov ecx, eax
sub ecx, 0xe1c1e02b
je 0x12b0a59
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xb8]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a2080
add esp, 8
mov dword [esi + 0xc], eax
mov al, byte [esi + 0x1f8]
mov byte [esi + 0x204], al
mov byte [esi + 0x44c], 0x18
mov byte [esi + 0x44d], 0x8f
mov eax, 2
mov byte [esi + eax + 0x44c], 0
add eax, 1
cmp eax, 8
jne 0x12af8c6
xor eax, eax
cmp eax, 8
jae 0x12af924
movzx edx, byte [esi + eax + 0x44c]
mov ecx, eax
add ecx, 0x33e9055d
mov edi, 0xa2
sub edi, eax
mov ebx, 0xa2
sub ebx, eax
and edi, ebx
or ecx, edx
xor edx, 0xffffffff
or edi, edx
and ecx, edi
mov edx, ecx
xor edx, 0x2d
add edx, 1
shl ecx, 1
and ecx, 0x5a
or ecx, 1
add edx, ecx
mov byte [esi + eax + 0x44c], dl
add eax, 1
jmp 0x12af8d8
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x44c]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.012a1f50
add esp, 0xc
cmp eax, 0
setne cl
xor cl, 0xff
and cl, 1
or cl, 0
mov eax, 0xbd0c671e
test cl, 1
jne 0x12af965
mov eax, 0xd75171b4
mov edi, dword [esi + 4]
mov ecx, dword [edi]
mov dword [ecx], eax
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xb39ba26b
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov al, byte [esi + 0x1f4]
mov byte [esi + 0x208], al
mov byte [esi + 0x70], 0xa0
mov byte [esi + 0x71], 0x3b
mov eax, 2
mov byte [esi + eax + 0x70], 0
add eax, 1
cmp eax, 4
jne 0x12af9a0
xor eax, eax
cmp eax, 4
jae 0x12af9ee
movzx edx, byte [esi + eax + 0x70]
mov ecx, eax
add ecx, 0x2b62e24b
xor ecx, edx
mov edi, ecx
shl edi, 1
and edi, 0x10
mov ebx, ecx
shl ebx, 1
and ebx, 0x10
mov edx, ecx
add edx, 0x88
sub edx, ebx
add edx, edi
and ecx, 1
or edx, 1
add edx, ecx
mov byte [esi + eax + 0x70], dl
add eax, 1
jmp 0x12af9af
mov eax, dword [esi + 0xc]
sub esp, 8
lea ecx, [esi + 0x70]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.012a19f0
add esp, 8
fnstcw word [esi + 0x82]
movzx eax, word [esi + 0x82]
or eax, 0xc00
mov word [esi + 0x2de], ax
fldcw word [esi + 0x2de]
fistp dword [esi + 0x498]
fldcw word [esi + 0x82]
mov eax, dword [esi + 0x498]
mov dword [esi + 0x50], eax
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xd378f92f
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xfc733de
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [edi]
mov dword [eax], 0x1c47bb25
jmp 0x12b39c1
mov eax, 0x41811a07
cmp dword [esi + 0x50], 3
jl 0x12afaaf
mov eax, 0x12889a2c
mov ecx, dword [edi]
mov dword [ecx], eax
jmp 0x12b39c1
mov eax, 0x42156417
cmp dword [esi + 0x50], 0
je 0x12afb06
mov eax, 0xa46e7df2
mov ecx, dword [edi]
mov dword [ecx], eax
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x4e5c0da3
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov al, byte [esi + 0x1dc]
mov byte [esi + 0x228], al
mov byte [esi + 0x42c], 0x60
mov byte [esi + 0x42d], 0x91
mov eax, 2
mov byte [esi + eax + 0x42c], 0
add eax, 1
cmp eax, 8
jne 0x12b0023
xor eax, eax
cmp eax, 8
jae 0x12b0070
movzx edx, byte [esi + eax + 0x42c]
mov ecx, eax
add ecx, 0xdc
or ecx, edx
mov edi, eax
add edi, 0xdc
and edi, edx
sub ecx, edi
add cl, 0xb4
mov byte [esi + eax + 0x42c], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x12b0035
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x42c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a18c0
add esp, 8
mov dword [esi + 0x334], eax
mov al, byte [esi + 0x1d8]
mov byte [esi + 0x22c], al
mov byte [esi + 0x424], 0xb3
mov byte [esi + 0x425], 0x27
mov eax, 2
mov byte [esi + eax + 0x424], 0
add eax, 1
cmp eax, 5
jne 0x12b00b0
xor eax, eax
cmp eax, 5
jae 0x12b010e
movzx edx, byte [esi + eax + 0x424]
mov ecx, eax
xor ecx, 0x952f7c6
mov edi, eax
or edi, 0x76ad0839
and edi, ecx
shl edi, 1
mov ecx, eax
xor ecx, 0x76ad0839
add ecx, edi
xor ecx, edx
mov edi, ecx
xor edi, 0x1d
mov edx, ecx
or edx, 0x62
and edx, edi
shl edx, 1
xor ecx, 0x1d
sub edx, ecx
mov byte [esi + eax + 0x424], dl
add eax, 1
jmp 0x12b00c2
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x424]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a1b20
add esp, 8
mov dword [esi + 0x37c], eax
mov al, byte [esi + 0x1d4]
mov byte [esi + 0x230], al
mov byte [esi + 0x41c], 0xb6
mov byte [esi + 0x41d], 0x4f
mov eax, 2
mov byte [esi + eax + 0x41c], 0
add eax, 1
cmp eax, 8
jne 0x12b014e
xor eax, eax
cmp eax, 8
jae 0x12b019c
mov cl, byte [esi + eax + 0x41c]
movzx edi, cl
mov ebx, eax
shl ebx, 1
and ebx, 0x86445a1a
mov edx, eax
xor edx, 0xc3222d0d
add edx, ebx
mov ebx, edx
and ebx, edi
shl ebx, 1
sub edx, ebx
add dl, cl
add dl, 0xbf
mov byte [esi + eax + 0x41c], dl
add eax, 1
jmp 0x12b0160
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x41c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a18c0
add esp, 8
mov dword [esi + 0x380], eax
mov al, byte [esi + 0x1d0]
mov byte [esi + 0x234], al
mov byte [esi + 0x414], 0xac
mov byte [esi + 0x415], 0x31
mov eax, 2
mov byte [esi + eax + 0x414], 0
add eax, 1
cmp eax, 8
jne 0x12b01dc
xor eax, eax
mov ebx, dword [esi + 8]
cmp eax, 8
jae 0x12b0244
movzx edx, byte [esi + eax + 0x414]
mov edi, eax
and edi, 0xdc215774
xor edi, 0xdc215774
mov ecx, eax
and ecx, 0x23dea88b
sub ecx, edi
xor ecx, edx
mov edx, ecx
and edx, 0x43
mov edi, ecx
and edi, 0x43
xor edi, 0xffffffff
add ecx, 0x44
add ecx, edi
add ecx, edx
add cl, 1
mov byte [esi + eax + 0x414], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x12b01f1
mov eax, dword [esi + 0xc]
sub esp, 8
lea ecx, [esi + 0x414]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.012a19f0
add esp, 8
fnstcw word [esi + 0x80]
movzx eax, word [esi + 0x80]
or eax, 0xc00
mov word [esi + 0x2dc], ax
fldcw word [esi + 0x2dc]
fistp dword [esi + 0x4a0]
fldcw word [esi + 0x80]
mov eax, dword [esi + 0x4a0]
mov dword [esi + 0x4ac], eax
mov al, byte [esi + 0x1cc]
mov byte [esi + 0x238], al
mov byte [esi + 0x48], 0x92
mov byte [esi + 0x49], 0xae
mov byte [esi + 0x4a], 0x3e
mov eax, 3
mov byte [esi + eax + 0x48], 0
add eax, 1
cmp eax, 4
jne 0x12b02b3
xor eax, eax
cmp eax, 4
jae 0x12b02fd
movzx edx, byte [esi + eax + 0x48]
mov ecx, eax
add ecx, 0x3f02d44a
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
add cl, 0x8e
mov byte [esi + eax + 0x48], cl
add eax, 0xe2350449
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
add eax, 0x1dcafbb7
jmp 0x12b02c2
mov eax, dword [esi + 0xc]
sub esp, 8
lea ecx, [esi + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.012a19f0
add esp, 8
fnstcw word [esi + 0x7e]
movzx eax, word [esi + 0x7e]
or eax, 0xc00
mov word [esi + 0x2da], ax
fldcw word [esi + 0x2da]
fistp dword [esi + 0x49c]
fldcw word [esi + 0x7e]
mov eax, dword [esi + 0x49c]
mov dword [esi + 0x4b0], eax
mov al, byte [esi + 0x1c8]
mov byte [esi + 0x23c], al
mov byte [esi + 0x318], 0x3e
mov byte [esi + 0x319], 5
mov byte [esi + 0x31a], 0x92
mov eax, 3
mov byte [esi + eax + 0x318], 0
add eax, 1
cmp eax, 7
jne 0x12b0369
xor eax, eax
cmp eax, 7
jae 0x12b03c1
movzx edi, byte [esi + eax + 0x318]
mov edx, eax
add edx, 0x64
mov ecx, 0x9b
sub ecx, eax
mov ebx, 0x9b
sub ebx, eax
and ecx, ebx
mov ebx, dword [esi + 8]
or edx, edi
xor edi, 0xffffffff
or ecx, edi
and ecx, edx
add cl, 0xc
mov byte [esi + eax + 0x318], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x12b037b
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x318]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a1c50
add esp, 8
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x21], al
sub esp, 4
mov eax, dword [esi + 0x334]
mov dword [esp], eax
call fcn.012b84f0
add esp, 4
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0xc0]
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor edi, edi
sub edi, ecx
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x12b042a
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.012a86e0
add esp, 4
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
xor ecx, ecx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esi + 0x334]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.012aafb0
add esp, 0x10
mov eax, dword [fcn.012ecd18]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0xc0]
xor edi, edi
lea edi, [esi + 0x1c4]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edi
call eax
mov cl, byte [esi + 0x1b8]
mov byte [esi + 0x240], cl
mov byte [esi + 0x1bc], 0x2f
mov byte [esi + 0x1bd], 9
mov byte [esi + 0x1be], 0xe
mov byte [esi + 0x1bf], 0x4f
mov ecx, 4
mov byte [esi + ecx + 0x1bc], 0
add ecx, 1
cmp ecx, 8
jne 0x12b04cf
xor ecx, ecx
cmp ecx, 8
jae 0x12b0513
mov dl, byte [esi + ecx + 0x1bc]
mov dh, cl
add dh, 0xc2
xor dh, dl
add dh, 0x36
mov byte [esi + ecx + 0x1bc], dh
mov edx, ecx
add edx, 3
xor edi, edi
sub edi, ecx
and edi, 2
and edx, 0xd
sub edx, edi
mov ecx, edx
jmp 0x12b04e1
mov edx, dword [esi + 0x1bc]
mov ecx, 0x3da0c87c
cmp eax, edx
mov edi, dword [esi + 4]
jne 0x12b052a
mov ecx, 0x46cef64f
mov eax, dword [edi]
mov dword [eax], ecx
jmp 0x12b39c1
mov eax, dword [esi + 0x28]
sub esp, 4
mov dword [esp], eax
call fcn.012a86f0
add esp, 4
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x30f18f4f
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0x384]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x12b070a
mov ecx, eax
mov dword [esi + 0x4b4], ecx
mov eax, dword [edi]
mov dword [eax], 0x404b7598
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xe2c46b19
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0xd0]
sub esp, 4
mov dword [esp], eax
call fcn.012b84f0
add esp, 4
mov edi, eax
add edi, 0x241db967
add edi, 1
sub edi, 0x241db967
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x12b08b6
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.012a86e0
add esp, 4
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0xd4]
mov ecx, dword [esi + 0xd0]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.012aafb0
add esp, 0x10
mov ecx, dword [esi + 0xd4]
mov eax, dword [esi + 0xc8]
mov edx, dword [esi + 0xc4]
mov bl, byte [esi + 0x21]
mov byte [esi + 0x1d], bl
mov edi, dword [esi + 0x4b0]
mov ebx, dword [esi + 0x4ac]
sub esp, 0x1c
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea eax, [esi + 0x6a0]
mov dword [esp], eax
movzx eax, byte [esi + 0x1d]
and eax, 1
mov dword [esp + 0x18], eax
call fcn.012c29d0
add esp, 0x1c
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xfd1694dc
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x83c469ff
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0xcc]
add eax, 1
mov dword [esi + 0x4b8], eax
mov eax, dword [edi]
mov dword [eax], 0x233b8d19
mov eax, dword [esi + 0x4b8]
mov dword [esi + 0x33c], eax
jmp 0x12b39c1
mov eax, dword [edi]
mov dword [eax], 0x4e257b71
jmp 0x12b39c1
mov eax, dword [edi]
mov dword [eax], 0xc5c22d8a
jmp 0x12b39c1
mov eax, 0xdc160b3a
test byte [esi + 0x22], 1
jne 0x12b0b37
mov eax, 0xb801b300
mov edi, dword [esi + 4]
mov ecx, dword [edi]
mov dword [ecx], eax
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x28f96569
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [edi]
mov dword [eax], 0xa46e7df2
jmp 0x12b39c1
mov al, byte [esi + 0x1a4]
mov byte [esi + 0x264], al
mov byte [esi + 0x3f4], 0xa7
mov byte [esi + 0x3f5], 0xc1
mov eax, 2
mov byte [esi + eax + 0x3f4], 0
add eax, 1
cmp eax, 6
jne 0x12b0f5f
xor edx, edx
cmp edx, 6
jae 0x12b0fcf
movzx eax, byte [esi + edx + 0x3f4]
mov dword [esi + 0x464], eax
mov ecx, edx
add ecx, 0xdb40b7d0
mov edi, 0x2f
sub edi, edx
mov ebx, 0x2f
sub ebx, edx
or edi, ebx
mov eax, 0x2f
sub eax, edx
and eax, edi
xor eax, 0xffffffff
mov edi, dword [esi + 0x464]
mov ebx, edi
and ebx, eax
or ecx, edi
mov eax, ecx
shl eax, 1
xor eax, 0xffffffff
add ecx, eax
or ebx, ecx
mov al, 0xef
sub al, bl
mov byte [esi + edx + 0x3f4], al
add edx, 1
jmp 0x12b0f71
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x3f4]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a18c0
add esp, 8
mov dword [esi + 0x330], eax
mov al, byte [esi + 0x1a0]
mov byte [esi + 0x268], al
mov byte [esi + 0x3ec], 0x50
mov byte [esi + 0x3ed], 0xc1
mov eax, 2
mov byte [esi + eax + 0x3ec], 0
add eax, 1
cmp eax, 5
jne 0x12b100f
xor eax, eax
cmp eax, 5
jae 0x12b1043
mov cl, byte [esi + eax + 0x3ec]
mov dl, al
add dl, 0x50
xor dl, cl
add dl, 0x70
mov byte [esi + eax + 0x3ec], dl
add eax, 1
jmp 0x12b1021
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x3ec]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a18c0
add esp, 8
mov dword [esi + 0x388], eax
mov al, byte [esi + 0x19c]
mov byte [esi + 0x26c], al
mov byte [esi + 0x58], 0x7d
mov byte [esi + 0x59], 0xe1
mov eax, 2
mov byte [esi + eax + 0x58], 0
add eax, 1
cmp eax, 4
jne 0x12b107d
xor eax, eax
cmp eax, 4
jae 0x12b10d3
movzx edx, byte [esi + eax + 0x58]
mov ecx, eax
add ecx, 0x133262d8
xor ecx, edx
mov ebx, ecx
shl ebx, 1
and ebx, 0x8e
mov edx, ecx
xor edx, 0xa00411c7
mov edi, edx
add edi, ebx
shl edx, 1
and edx, 2
shl ecx, 1
and ecx, 2
xor ecx, 2
xor edi, 0xffffffff
add ecx, edi
sub edx, ecx
mov byte [esi + eax + 0x58], dl
add eax, 1
jmp 0x12b108c
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x58]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a1b20
add esp, 8
mov dword [esi + 0xd8], eax
mov al, byte [esi + 0x198]
mov byte [esi + 0x270], al
mov byte [esi + 0x3e4], 0x9a
mov byte [esi + 0x3e5], 0x1b
mov eax, 2
mov byte [esi + eax + 0x3e4], 0
add eax, 1
cmp eax, 8
jne 0x12b1110
xor eax, eax
cmp eax, 8
jae 0x12b1177
mov cl, byte [esi + eax + 0x3e4]
mov edx, eax
and edx, 0xb9
mov ebx, eax
and ebx, 0xb9
mov edi, eax
and edi, 2
xor edi, 2
imul edi, ebx
mov ebx, eax
and ebx, 2
or edx, 2
imul edx, ebx
add edx, edi
mov edi, eax
shl edi, 1
and edi, 0x76
add edi, 0x45
mov ebx, eax
sub ebx, edi
add ebx, edx
xor bl, cl
add bl, 0x59
mov byte [esi + eax + 0x3e4], bl
add eax, 1
jmp 0x12b1122
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x3e4]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a18c0
add esp, 8
mov dword [esi + 0x38c], eax
mov al, byte [esi + 0x194]
mov byte [esi + 0x274], al
mov byte [esi + 0x54], 0xec
mov byte [esi + 0x55], 0x71
mov eax, 2
mov byte [esi + eax + 0x54], 0
add eax, 1
cmp eax, 4
jne 0x12b11b1
xor eax, eax
cmp eax, 4
jae 0x12b11f3
movzx edi, byte [esi + eax + 0x54]
mov ecx, eax
add ecx, 0x9e1a3bec
mov edx, 0x13
sub edx, eax
and edx, edi
mov ebx, ecx
xor ebx, edi
add ebx, edi
and ecx, edi
add edx, ecx
sub ebx, edx
add bl, 0x64
mov byte [esi + eax + 0x54], bl
add eax, 1
jmp 0x12b11c0
mov eax, dword [esi + 0xc]
sub esp, 8
lea ecx, [esi + 0x54]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.012a19f0
add esp, 8
fnstcw word [esi + 0x7c]
movzx eax, word [esi + 0x7c]
or eax, 0xc00
mov word [esi + 0x2d8], ax
fldcw word [esi + 0x2d8]
fistp dword [esi + 0x4a8]
fldcw word [esi + 0x7c]
mov eax, dword [esi + 0x4a8]
mov dword [esi + 0x4bc], eax
mov al, byte [esi + 0x190]
mov byte [esi + 0x278], al
mov byte [esi + 0x310], 0xaa
mov byte [esi + 0x311], 0x9a
mov byte [esi + 0x312], 0xe
mov eax, 3
mov ebx, dword [esi + 8]
mov byte [esi + eax + 0x310], 0
add eax, 1
cmp eax, 5
jne 0x12b1262
xor eax, eax
cmp eax, 5
jae 0x12b12ae
movzx edx, byte [esi + eax + 0x310]
mov ecx, eax
add ecx, 0xa9604cbd
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
mov edx, ecx
sub edx, edi
shl ecx, 1
and ecx, 2
xor edx, 1
add edx, 0x4e
add edx, ecx
mov byte [esi + eax + 0x310], dl
add eax, 1
jmp 0x12b1274
mov eax, dword [esi + 0xc]
sub esp, 8
lea ecx, [esi + 0x310]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.012a19f0
add esp, 8
fnstcw word [esi + 0x7a]
movzx eax, word [esi + 0x7a]
or eax, 0xc00
mov word [esi + 0x2d6], ax
fldcw word [esi + 0x2d6]
fistp dword [esi + 0x4a4]
fldcw word [esi + 0x7a]
mov eax, dword [esi + 0x4a4]
mov dword [esi + 0x4c0], eax
sub esp, 4
mov eax, dword [esi + 0x330]
mov dword [esp], eax
call fcn.012b84f0
add esp, 4
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor edi, edi
sub edi, ecx
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x12b132e
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.012a86e0
add esp, 4
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0xdc]
xor ecx, ecx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esi + 0x330]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.012aafb0
add esp, 0x10
mov eax, dword [esi + 0xdc]
lea ecx, [esi + 0x4f8]
sub esp, 4
mov dword [esp], eax
call fcn.012b8550
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xbe2997fb
jmp 0x12b39c1
mov eax, dword [esi + 0xdc]
sub esp, 4
mov dword [esp], eax
call fcn.012a86f0
add esp, 4
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x5f7e121e
mov ebx, dword [esi + 8]
jmp 0x12b39c1
lea ecx, [esi + 0x4f8]
sub esp, 4
mov dword [esp], 0x1000
call 0x12dbdd0
mov ecx, 0x6fc7721f
cmp eax, 0
jge 0x12b13f3
mov ecx, 0xcec9836b
mov eax, dword [edi]
mov dword [eax], ecx
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x4b27dad7
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0x18c]
mov ecx, eax
and ecx, 2
or eax, 2
add ecx, eax
sub esp, 4
mov dword [esp], ecx
call loc.012dba10
add esp, 4
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x18c]
sub eax, 0xfffffffe
mov dword [esi + 0x48c], eax
mov eax, dword [esi + 0x4f8]
mov dword [esi + 0x488], eax
mov eax, dword [esi + 0x88]
mov dword [esi + 0x484], eax
mov al, byte [esi + 0x28c]
mov byte [esi + 0x2d0], al
mov byte [esi + 0x290], 0x97
mov byte [esi + 0x291], 0x96
mov byte [esi + 0x292], 0x95
mov byte [esi + 0x293], 0x94
mov eax, 4
mov byte [esi + eax + 0x290], 0
add eax, 1
cmp eax, 8
jne 0x12b1675
xor eax, eax
cmp eax, 8
jae 0x12b16a9
mov cl, byte [esi + eax + 0x290]
mov dl, al
add dl, 0xa4
xor dl, cl
add dl, 0xcc
mov byte [esi + eax + 0x290], dl
add eax, 1
jmp 0x12b1687
mov edx, dword [esi + 0x290]
xor edi, edi
mov ecx, 2
cmp edi, dword [0x12ecd1c]
jb 0x12b16c3
jmp 0x12b176a
mov dword [esi + 0xb0], edx
mov ecx, dword [0x12ecd20]
cmp dword [ecx + edi*8], 0xfc36c0a1
sete bl
test bl, 1
jne 0x12b16e0
jmp 0x12b1747
mov edx, dword [ecx + edi*8 + 4]
mov ecx, 2
cmp edx, dword [esi + 0xb0]
je 0x12b1749
mov eax, dword [0x12ecd24]
xor ecx, ecx
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
mov eax, dword [esi + 0x488]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x2b
mov eax, dword [esi + 0x484]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x48c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
call 0x12de470
add esp, 0x20
mov ecx, 1
jmp 0x12b1749
xor ecx, ecx
test bl, 1
je 0x12b1759
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0xb0]
jmp 0x12b176a
add edi, 1
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0xb0]
jmp 0x12b16b1
cmp ecx, 2
mov edi, dword [esi + 4]
je 0x12b1774
mov edx, eax
mov eax, 0xa60c0072
cmp edx, 0
jge 0x12b1783
mov eax, 0xc75be721
mov ecx, dword [edi]
mov dword [ecx], eax
jmp 0x12b39c1
mov eax, dword [esi + 0x388]
sub esp, 4
mov dword [esp], eax
call fcn.012b84f0
add esp, 4
mov dword [esi + 0xe0], eax
mov edi, dword [esi + 0xe0]
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x12b17c7
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.012a86e0
add esp, 4
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x388]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.012aafb0
add esp, 0x10
mov eax, dword [esi + 0x88]
add eax, 4
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x88]
movzx ecx, word [ecx]
shr ecx, 1
add ecx, 0xfffffffe
add ecx, 1
shl ecx, 1
add eax, ecx
mov dword [esi + 0x390], eax
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x74f51c3d
mov eax, dword [esi + 0x390]
mov dword [esi + 0x340], eax
jmp 0x12b39c1
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov edi, dword [esi + 0x394]
sub edi, eax
sar edi, 1
mov eax, edi
add eax, dword [esi + 0xe0]
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x12b1950
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.012a86e0
add esp, 4
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x94]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.012b8580
add esp, 0xc
mov ecx, dword [esi + 0x8c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012aa2b0
add esp, 8
mov dword [esi + 0x4c8], eax
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x8f715fa
jmp 0x12b39c1
mov eax, dword [esi + 0x8c]
sub esp, 4
mov dword [esp], eax
call fcn.012a86f0
add esp, 4
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x77a3e07c
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0x348]
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0xd8]
sub esp, 4
mov dword [esp], eax
call fcn.012a2070
add esp, 4
mov ecx, 0xf97a3aad
cmp dword [esi + 0x98], eax
jb 0x12b1b63
mov ecx, 0x430fdb29
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], ecx
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xab5720d3
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0x98]
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov dword [esi + 0x4cc], eax
mov eax, dword [edi]
mov dword [eax], 0xd1fe02f8
mov eax, dword [esi + 0x4cc]
mov dword [esi + 0x348], eax
jmp 0x12b39c1
mov eax, dword [edi]
mov dword [eax], 0xbb346e0a
jmp 0x12b39c1
mov eax, dword [esi + 0xe4]
sub esp, 4
mov dword [esp], eax
call fcn.012a86f0
add esp, 4
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xe581a743
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0x88]
sub esp, 4
mov dword [esp], eax
call fcn.012dbab0
add esp, 4
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xdb8e7350
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x4b27dad7
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0x350]
mov dword [esi + 0x10c], eax
mov al, byte [esi + 0x16c]
mov byte [esi + 0x2a8], al
mov byte [esi + 0x308], 0xff
mov byte [esi + 0x309], 0xd3
mov byte [esi + 0x30a], 0x5a
mov eax, 3
mov byte [esi + eax + 0x308], 0
add eax, 1
cmp eax, 7
jne 0x12b23b5
xor eax, eax
cmp eax, 7
jae 0x12b242b
movzx edx, byte [esi + eax + 0x308]
mov ecx, 0x3fd1cd90
sub ecx, eax
and ecx, 0xe017f57e
mov edi, eax
add edi, 0x2e326f
and edi, 0x1fe80a81
or ecx, edi
xor ecx, edx
xor ecx, 0x1fe80a81
add ecx, 1
mov edx, ecx
shl edx, 1
and edx, 0x58
xor ecx, 0xd3
sub ecx, edx
add cl, 2
mov byte [esi + eax + 0x308], cl
mov ecx, eax
add ecx, 1
mov edx, eax
xor edx, 0xffffffff
or edx, 1
add edx, ecx
or eax, 1
add eax, edx
jmp 0x12b23c7
lea eax, [esi + 0x308]
sub esp, 8
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a1b20
add esp, 8
mov dword [esi + 0x110], eax
mov eax, 0x48efb887
cmp dword [esi + 0x110], 0
jne 0x12b245f
mov eax, 0x2af22f96
mov edi, dword [esi + 4]
mov ecx, dword [edi]
mov dword [ecx], eax
mov dword [esi + 0x360], 0
mov dword [esi + 0x35c], 0
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x674dd767
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0x358]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0xa4]
mov eax, 0x743c1feb
cmp ecx, dword [esi + 0x30]
jb 0x12b25da
mov eax, 0x5bcebbd3
mov edi, dword [esi + 4]
mov ecx, dword [edi]
mov dword [ecx], eax
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x13ddbd1b
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0xf8]
sub esp, 4
mov dword [esp], eax
call fcn.012a86f0
add esp, 4
mov eax, dword [edi]
mov dword [eax], 0x5be8ab6a
jmp 0x12b39c1
mov eax, dword [esi + 0x104]
sub esp, 4
mov dword [esp], eax
call fcn.012a86f0
add esp, 4
mov eax, dword [edi]
mov dword [eax], 0xfe63a27a
jmp 0x12b39c1
mov eax, dword [esi + 0x10c]
sub esp, 4
mov dword [esp], eax
call fcn.012a86f0
add esp, 4
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xf2a2d458
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0x4d8]
mov ecx, dword [esi + 0xc]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a18c0
add esp, 8
mov dword [esi + 0x11c], eax
mov al, byte [esi + 0x144]
mov byte [esi + 0x2c0], al
mov byte [esi + 0x3b4], 6
mov byte [esi + 0x3b5], 0x89
mov eax, 2
mov byte [esi + eax + 0x3b4], 0
add eax, 1
cmp eax, 7
jne 0x12b2d5e
xor eax, eax
cmp eax, 7
jae 0x12b2daf
movzx edx, byte [esi + eax + 0x3b4]
mov ecx, eax
add ecx, 0x81a68ea2
xor ecx, edx
mov edx, ecx
add edx, 1
mov edi, ecx
xor edi, 0xffffffff
or edi, 0x55
add edx, edi
shl edx, 1
xor ecx, 0xd5
add ecx, edx
add cl, 1
mov byte [esi + eax + 0x3b4], cl
add eax, 1
jmp 0x12b2d70
mov eax, dword [esi + 0xc]
sub esp, 8
lea ecx, [esi + 0x3b4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.012a18c0
add esp, 8
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x11c]
test eax, eax
sete cl
mov eax, dword [esi + 0x120]
test eax, eax
sete al
or cl, al
mov eax, 0xa891c9ae
test cl, 1
jne 0x12b2df7
mov eax, 0x7fcd9998
mov edi, dword [esi + 4]
mov ecx, dword [edi]
mov dword [ecx], eax
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [edi]
mov dword [eax], 0xdd28b314
jmp 0x12b39c1
mov eax, dword [esi + 0x12c]
sub esp, 4
mov dword [esp], eax
call fcn.012a2070
add esp, 4
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
mov ecx, 8
mul ecx
seto cl
add eax, 4
setb dl
and cl, cl
xor cl, 0xff
mov ch, dl
xor ch, 0xff
xor dl, 0xff
or ch, dl
xor cl, 0xff
xor ch, 0xff
or cl, ch
mov edx, 0xffffffff
test cl, 1
jne 0x12b3021
mov edx, eax
sub esp, 4
mov dword [esp], edx
call fcn.012a86e0
add esp, 4
mov ecx, dword [esi + 0x38]
mov dword [eax], ecx
add eax, 4
mov dword [esi + 0xa8], eax
mov eax, 0xd0d81781
cmp dword [esi + 0x38], 0
je 0x12b304d
mov eax, 0xee1d55ca
mov edi, dword [esi + 4]
mov ecx, dword [edi]
mov dword [ecx], eax
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0x38]
shl ecx, 3
add eax, ecx
mov dword [esi + 0x4dc], eax
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x77563bda
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x1164f1f5
mov dword [esi + 0x36c], 0
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x12c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a2080
add esp, 8
mov dword [esi + 0x32c], eax
mov al, byte [esi + 0x13c]
mov byte [esi + 0x2c8], al
mov byte [esi + 0x2e8], 0xfb
mov byte [esi + 0x2e9], 0xf1
mov byte [esi + 0x2ea], 0x66
mov eax, 3
mov byte [esi + eax + 0x2e8], 0
add eax, 1
cmp eax, 5
jne 0x12b31ff
xor eax, eax
cmp eax, 5
jae 0x12b325e
movzx edx, byte [esi + eax + 0x2e8]
mov ecx, eax
add ecx, 0xec53f399
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
mov edi, ecx
add edi, 3
mov edx, 0xfd
sub edx, ecx
or edx, 1
add edx, edi
or ecx, 1
add ecx, 2
add ecx, edx
mov byte [esi + eax + 0x2e8], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x12b3211
lea eax, [esi + 0x2e8]
sub esp, 8
mov ecx, dword [esi + 0x32c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a18c0
add esp, 8
mov dword [esi + 0x480], eax
mov al, byte [esi + 0x138]
mov byte [esi + 0x2cc], al
mov byte [esi + 0x2e0], 0x3b
mov byte [esi + 0x2e1], 0x15
mov byte [esi + 0x2e2], 0x9e
mov eax, 3
mov byte [esi + eax + 0x2e0], 0
add eax, 1
cmp eax, 5
jne 0x12b32a8
xor eax, eax
cmp eax, 5
jae 0x12b3322
movzx edi, byte [esi + eax + 0x2e0]
mov ebx, eax
and ebx, 0xc7e825b
xor ebx, 0xc7e825b
mov ecx, eax
and ecx, 0xf3817da4
sub ecx, ebx
mov ebx, edi
and ebx, 0xc9
xor ebx, 0xc9
mov edx, edi
and edx, 0xc9
xor edx, 0xa1a65fc9
or ebx, edx
and edi, 0x36
or ebx, edi
xor ecx, ebx
mov edx, ecx
shl edx, 1
and edx, 8
xor ecx, 0xcd
add ecx, edx
add cl, 0xc3
mov byte [esi + eax + 0x2e0], cl
add eax, 1
jmp 0x12b32ba
lea eax, [esi + 0x2e0]
sub esp, 8
mov ecx, dword [esi + 0x32c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a18c0
add esp, 8
mov ecx, dword [esi + 0xac]
shl ecx, 3
add ecx, dword [esi + 0xa8]
sub esp, 8
mov dword [esp], eax
mov eax, dword [esi + 0x480]
mov dword [esp + 4], eax
call fcn.012b8800
mov eax, dword [esi + 0xac]
add eax, 1
mov dword [esi + 0x4e0], eax
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x1164f1f5
mov eax, dword [esi + 0x4e0]
mov dword [esi + 0x36c], eax
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov ecx, dword [esi + 0x3b0]
mov eax, 0x5b399d6b
cmp dword [esi + 0x3c], ecx
je 0x12b345b
mov eax, 0x6ddf7703
mov edi, dword [esi + 4]
mov ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [esi + 0x3b0]
mov dword [esi + 0x378], eax
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [edi]
mov dword [eax], 0xcdf77cdd
jmp 0x12b39c1
mov eax, dword [esi + 0x124]
sub esp, 4
mov dword [esp], eax
call fcn.012a86f0
add esp, 4
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0x96bf0812
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [edi]
mov dword [eax], 0x53f62fcf
jmp 0x12b39c1
mov eax, dword [edi]
mov dword [eax], 0x1af78e4
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xdd28b314
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xa46e7df2
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov eax, dword [edi]
mov dword [eax], 0xb39ba26b
jmp 0x12b39c1
mov eax, dword [esi + 0xbc]
sub eax, 0x95600207
add eax, 1
add eax, 0x95600207
mov dword [esi + 0x4e4], eax
mov eax, dword [edi]
mov dword [eax], 0x536c3024
mov eax, dword [esi + 0x4e4]
mov dword [esi + 0x338], eax
jmp 0x12b39c1
mov al, byte [esi + 0x13]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
outsd dx, dword [esi]
cld
push edx
mov eax, dword [edi]
pop es
mov dword [eax], 0xfc733de
jmp 0x12b39c1
jno 0x12b3607
push edi
push cs
rcr byte [esi + ebx + 0xc], 0x8a
inc esi
sbb al, 0x88
xchg byte [edx + eax], bl
add byte [eax], al
mov byte [esi + 0x68], 0x44
mov byte [esi + 0x69], 0x39
mov eax, 2
mov byte [esi + eax + 0x68], 0
add eax, 1
cmp eax, 6
jne 0x12b3631
xor eax, eax
cmp eax, 6
jae 0x12b365c
mov cl, byte [esi + eax + 0x68]
mov dl, al
add dl, 0xb6
xor dl, cl
add dl, 0x72
mov byte [esi + eax + 0x68], dl
add eax, 1
jmp 0x12b3640
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0x68]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.012a1f50
add esp, 0xc
mov eax, dword [edi]
mov dword [eax], 0x2fac3792
jmp 0x12b39c1
mov word [edx - 0x36], es
inc eax
mov eax, dword [esi + 0x9c]
sub esp, 4
mov dword [esp], eax
call fcn.012a86f0
add esp, 4
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xfa7ddfd8
mov ebx, dword [esi + 8]
jmp 0x12b39c1
and ebx, edi
sbb al, 0x48
imul edi, edi, 0xffffff95
xchg ecx, eax
lodsd eax, dword [esi]
mov eax, dword [0x8b36498f]
xchg byte [ecx + eax], dl
add byte [eax], al
sub esp, 4
mov dword [esp], eax
call fcn.012a86f0
add esp, 4
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov dword [eax], 0xee869d76
mov ebx, dword [esi + 8]
jmp 0x12b39c1
mov ecx, dword [esi + 0x130]
call fcn.012b87f0
mov eax, dword [edi]
mov dword [eax], 0x71471c71
jmp 0x12b39c1
cmpsd dword [esi], dword es:[edi]
sahf
dec edi
cdq
nop
push edx
cdq
jnp 0x12b3936
mov cs, word [eax]
add eax, 0x7de80000
pop edx
invalid
jmp 0x12aebbe