Function at 0x10034472
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [ecx + 8]
push ebx
push esi
push edi
mov esi, 0x10041950
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
shl edx, 4
lea ebx, [edx + ecx + 0xc]
mov ecx, dword [ebp + 0xc]
movsd dword es:[edi], dword [esi]
add ecx, 0xfffffffb
cmp ecx, 0x13d
mov dword [ebp - 4], eax
mov dword [ebp - 0x1c], ebx
movsd dword es:[edi], dword [esi]
ja case.0x100344b7.10
movzx ecx, byte [ecx + 0x10035c92]
jmp dword [ecx*4 + 0x100359e6]
mov byte [eax + 0x168], 0
and dword [eax + 0x14c], 0
jmp case.0x100344b7.10
mov byte [eax + 0x168], 1
jmp 0x100344c5
mov byte [eax + 0x168], 2
jmp 0x100344c5
call fcn.1001f2bc
jmp case.0x100344b7.10
push dword [ebx - 0xc]
call fcn.100226f0
pop ecx
jmp case.0x100344b7.10
mov dword [ebp - 0x10], 7
jmp case.0x100344b7.10
movzx eax, word [ebx + 2]
mov dword [ebp - 0x10], eax
jmp case.0x100344b7.10
call fcn.10022793
jmp case.0x100344b7.10
call fcn.100227e8
jmp case.0x100344b7.10
lea eax, [ebx + 4]
xor ebx, ebx
mov ecx, dword [ebp - 4]
call fcn.1002283e
mov ebx, dword [ebp - 0x1c]
jmp case.0x100344b7.10
lea eax, [ebx + 4]
xor ebx, ebx
inc ebx
jmp 0x1003452c
push 2
lea eax, [ebx + 4]
pop ebx
jmp 0x1003452c
push dword [ebx - 0x1c]
lea eax, [ebx - 0xc]
push 0
push 0
push dword [ebx - 0x3c]
lea edx, [ebx + 4]
push eax
mov eax, dword [ebp - 4]
call fcn.1001fbce
add esp, 0x14
jmp case.0x100344b7.10
mov eax, dword [eax]
mov byte [eax + 0xe2], 0
mov eax, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xc], eax
jmp case.0x100344b7.10
mov dword [ebp - 0x10], 1
jmp case.0x100344b7.10
lea edx, [ebx - 0xc]
lea ecx, [ebx + 4]
test ecx, ecx
mov dword [ebp - 0x28], edx
mov edx, dword [eax]
mov dword [ebp - 0x14], edx
je case.0x100344b7.10
cmp dword [eax + 0x40], 0
jne case.0x100344b7.10
cmp byte [edx + 0x1e], 0
jne case.0x100344b7.10
mov eax, dword [eax + 0x18c]
test eax, eax
mov dword [ebp - 0x18], eax
je case.0x100344b7.10
mov edi, eax
mov esi, dword [edi + 0x48]
mov ecx, edx
call fcn.10029639
cmp dword [edi + 0x2c], 0
mov dword [ebp - 0x1c], eax
je 0x1003464a
push 0x24
lea eax, [ebp - 0x5c]
push 0
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x40
lea eax, [ebp - 0xa0]
push 0
push eax
call sub.MSVCR80.dll_memset
or dword [ebp - 0x80], 0xffffffff
mov eax, edi
mov ecx, dword [eax + 4]
mov edi, dword [eax + 0x2c]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0xa0]
add esp, 0xc
lea esi, [ebp - 0x5c]
mov word [ebp - 0xa0], 1
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x58], ecx
mov byte [ebp - 0x46], 1
call fcn.1001a4c7
test eax, eax
jne case.0x100344b7.10
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x80], 0
je 0x1003466c
mov ecx, dword [eax + 0x7c]
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x18], ecx
cmp byte [eax + 0x80], 0
jne 0x10034793
mov edi, dword [ebp - 4]
call fcn.1002b031
test eax, eax
mov dword [ebp - 0x24], eax
je case.0x100344b7.10
push 0
push 0x22
call fcn.10011877
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x1c], 0
pop ecx
pop ecx
jne 0x100346a1
mov dword [ebp - 0x38], 0x10045ce4
mov edx, 0x10045cec
jmp 0x100346ad
mov dword [ebp - 0x38], 0x10045cf4
mov edx, 0x10045cfc
mov esi, dword [ebp - 0x14]
mov eax, edi
mov ecx, dword [eax + 0x174]
mov eax, dword [ebx + 4]
sub eax, ecx
push ecx
inc eax
push eax
push edx
push 0x10045d04
call fcn.10004157
add esp, 0x10
cmp dword [ebp - 0x1c], 1
mov dword [ebp - 0x20], eax
mov ecx, 0x10044e98
je 0x100346e1
mov ecx, 0x10044eac
push dword [edi + 0x144]
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x20]
mov eax, dword [eax + 4]
push dword [edi + 0x148]
mov esi, dword [ebp - 0x1c]
push eax
imul esi, esi, 0x18
push eax
push dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
push ecx
push dword [eax + esi]
push 0x10045d18
call fcn.1001f44e
add esp, 0x24
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call fcn.1000303b
push dword [ebp - 0x1c]
call fcn.100203ef
mov eax, dword [ebp - 0x18]
add esp, 0xc
test byte [eax + 0x22], 8
je 0x10034756
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
add eax, esi
mov ecx, dword [eax + 0x14]
cmp dword [ecx + 0x44], 0
jne 0x10034756
push dword [eax]
push 0x10045d70
call fcn.1001f44e
pop ecx
pop ecx
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
push 0xffffffffffffffff
push ecx
push dword [eax + 4]
push 0x10045d9c
call fcn.10004157
add esp, 0xc
push eax
push 0
push 0
push dword [ebp - 0x1c]
push 0x20
push dword [ebp - 0x24]
call fcn.100118a5
mov eax, esi
add esp, 0x1c
cmp byte [eax + 0x80], 0
je case.0x100344b7.10
mov eax, dword [ebp - 4]
cmp dword [eax + 0x40], 0
jne case.0x100344b7.10
mov edi, dword [ebp - 0x18]
mov ecx, dword [edi + 4]
mov esi, dword [edi + 0x48]
push edi
call fcn.1000491d
push ecx
inc eax
lea ecx, [esi + 4]
call fcn.1000552e
test eax, eax
pop ecx
pop ecx
je 0x100347cb
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1e], 1
jmp case.0x100344b7.10
mov edi, dword [edi + 0x24]
test edi, edi
je 0x1003480e
add esi, 0x34
mov ecx, dword [edi + 8]
call fcn.1000491d
inc eax
push eax
push ecx
mov dword [ebp - 0x24], eax
call fcn.100054ed
push edi
push dword [edi + 8]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x24]
mov ecx, esi
call fcn.1000552e
add esp, 0x10
cmp eax, edi
jne 0x10034807
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1e], 1
mov edi, dword [edi + 4]
test edi, edi
jne 0x100347d5
mov eax, dword [ebp - 4]
and dword [eax + 0x18c], 0
mov eax, dword [ebp - 0x14]
inc dword [eax + 0x28]
or dword [eax + 0xc], 0x10
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x1c], 0
jne case.0x100344b7.10
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x174]
mov eax, dword [ebp - 0x28]
cmp dword [eax], 0
jne 0x10034843
lea eax, [ebx + 4]
mov edx, dword [eax]
sub edx, ecx
call fcn.1000484f
mov ecx, dword [ebp - 0x18]
add eax, 0xd
mov dword [ecx + 0x30], eax
jmp case.0x100344b7.10
push dword [ebx + 4]
mov esi, eax
push 0
push 0
push esi
call fcn.10020778
push dword [ebx + 4]
push dword [esi]
call fcn.10029d38
add esp, 0x18
jmp case.0x100344b7.10
mov edx, dword [eax + 0x17c]
mov ecx, dword [ebx - 0x1c]
mov eax, dword [eax + 0x180]
sub edx, ecx
and eax, 0xfffffffe
mov dword [ebp - 0x10], ecx
lea eax, [eax + edx*2]
mov ecx, dword [ebp - 0xc]
and ecx, 1
xor eax, ecx
jmp 0x1003457f
lea esi, [ebx + 4]
push esi
push eax
call fcn.1001ff32
mov eax, dword [esi]
pop ecx
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 4]
pop ecx
jmp 0x1003457f
mov edx, dword [ebp - 4]
lea eax, [ebx + 4]
push eax
call fcn.100200c3
jmp 0x100344f5
mov eax, dword [ebx - 0x2c]
mov ecx, dword [ebx + 8]
shr ecx, 1
sub ecx, eax
add ecx, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
add ecx, ecx
and eax, 1
xor ecx, eax
mov dword [ebp - 0xc], ecx
jmp case.0x100344b7.10
mov eax, dword [ebx - 0x4c]
jmp 0x100348cf
mov eax, dword [ebx - 0xc]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x10], eax
sub ecx, eax
mov eax, dword [ebx + 8]
and eax, 0xfffffffe
lea eax, [eax + ecx*2]
jmp 0x10034895
push dword [ebx + 4]
call fcn.10020107
jmp 0x100344f5
push dword [ebx - 0xc]
jmp 0x1003490c
push dword [ebx + 4]
mov esi, dword [ebp - 4]
push 0x5b
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
mov ecx, dword [ebx + 4]
add ecx, 0xc
lea edx, [ebx - 0xc]
call fcn.1001ab07
push eax
mov eax, esi
call fcn.10020107
add esp, 0xc
jmp case.0x100344b7.10
mov esi, dword [ebp - 4]
push 0
lea eax, [ebx + 4]
push 0x5e
xor ecx, ecx
call fcn.1001aa5f
jmp 0x1003493a
mov eax, dword [eax + 0x18c]
test eax, eax
je case.0x100344b7.10
mov ecx, dword [eax + 0xc]
dec ecx
js case.0x100344b7.10
mov eax, dword [eax + 0x10]
imul ecx, ecx, 0x14
mov dl, byte [ebx + 4]
mov byte [ecx + eax + 0x10], dl
jmp case.0x100344b7.10
push dword [ebx - 0x1c]
push dword [ebx + 4]
push dword [ebx - 0xc]
push 0
push eax
call fcn.10020173
jmp 0x10034565
xor eax, eax
push eax
push eax
push eax
push eax
push dword [ebx + 4]
push eax
push eax
push eax
push eax
push dword [ebp - 4]
call fcn.100217ff
add esp, 0x28
jmp case.0x100344b7.10
push dword [ebx - 0xc]
call fcn.100202c7
jmp 0x100344f5
push dword [ebx + 4]
lea eax, [ebx - 0x1c]
push dword [ebx - 0xc]
push 0
push dword [ebp - 4]
call fcn.1002139d
add esp, 0x10
jmp case.0x100344b7.10
mov eax, dword [eax + 0x18c]
test eax, eax
je case.0x100344b7.10
mov eax, dword [eax + 0x24]
test eax, eax
je case.0x100344b7.10
mov cl, byte [ebx + 4]
mov byte [eax + 0x18], cl
jmp case.0x100344b7.10
lea eax, [ebx + 4]
push eax
push dword [ebp - 4]
call fcn.1002030a
pop ecx
jmp 0x100344f5
mov dword [ebp - 0x10], 0x60606
jmp case.0x100344b7.10
mov eax, dword [ebx + 8]
not eax
and eax, dword [ebx - 0xc]
or eax, dword [ebx + 4]
jmp 0x1003450b
and dword [ebp - 0x10], 0
and dword [ebp - 0xc], 0
jmp case.0x100344b7.10
mov eax, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0xff
jmp case.0x100344b7.10
mov eax, dword [ebx + 4]
shl eax, 8
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0xff00
jmp case.0x100344b7.10
mov eax, dword [ebx + 4]
shl eax, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0xff0000
jmp case.0x100344b7.10
mov dword [ebp - 0x10], 8
jmp case.0x100344b7.10
mov dword [ebp - 0x10], 9
jmp case.0x100344b7.10
mov dword [ebp - 0x10], 6
jmp case.0x100344b7.10
mov eax, dword [0x10041954]
and eax, 1
mov dword [ebp - 0xc], eax
and dword [ebp - 0x10], 0
jmp case.0x100344b7.10
mov eax, dword [ebx - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx - 8]
jmp 0x1003457f
push 0
push dword [ebx - 0x1c]
push dword [ebx + 4]
push dword [ebx - 0x2c]
jmp 0x10034992
xor eax, eax
push eax
push eax
push eax
push eax
push dword [ebx + 4]
push dword [ebx - 0x1c]
jmp 0x100349a7
push dword [ebx - 0x1c]
jmp 0x100349bd
push dword [ebx - 0xc]
mov esi, dword [ebp - 4]
push dword [ebx - 0x1c]
lea eax, [ebx - 0x2c]
push dword [ebx - 0x5c]
push esi
call fcn.1002139d
mov eax, dword [esi + 0x18c]
add esp, 0x10
jmp 0x100349e8
mov dword [ebp - 0x10], 0x63
jmp case.0x100344b7.10
mov dword [ebp - 0x10], 4
jmp case.0x100344b7.10
mov dword [ebp - 0x10], 5
jmp case.0x100344b7.10
push dword [ebx - 0xc]
push 0
push dword [ebx + 4]
push eax
call fcn.100210f6
jmp 0x100349da
push dword [ebx - 0x3c]
lea eax, [ebx - 0x1c]
push dword [ebx - 0x5c]
lea ecx, [ebx - 0x6c]
push dword [ebx + 4]
push eax
push ecx
mov ecx, dword [ebp - 4]
lea eax, [ebx - 0x2c]
call fcn.10020adb
jmp 0x10034565
push dword [ebx - 0xc]
push 1
jmp 0x10034b38
mov esi, dword [ebp - 4]
xor eax, eax
mov byte [ebp - 0x33], al
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x34]
push eax
push dword [ebx + 4]
mov byte [ebp - 0x34], 5
push esi
call fcn.1002d2b4
add esp, 0xc
push dword [ebx + 4]
push dword [esi]
call fcn.10029d38
jmp 0x10034a12
cmp dword [ebx + 4], 0
je 0x10034bc2
mov eax, dword [ebx + 4]
mov cl, byte [ebx - 0xc]
mov byte [eax + 4], cl
mov eax, dword [ebx + 4]
mov ecx, dword [ebx - 0x1c]
mov dword [eax + 0x1c], ecx
mov eax, dword [ebx + 4]
jmp 0x1003450b
push dword [ebx - 0x1c]
push dword [eax]
call fcn.10029d38
pop ecx
pop ecx
jmp case.0x100344b7.82
mov dword [ebp - 0x10], 0x71
jmp case.0x100344b7.10
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx - 0x6c]
push dword [ebx - 0xc]
push dword [ebx - 0x1c]
push dword [ebx - 0x2c]
push dword [ebx - 0x3c]
push dword [ebx - 0x4c]
push eax
mov eax, dword [ebx - 0x5c]
call fcn.10029c73
add esp, 0x24
jmp 0x1003450b
mov eax, dword [ebx + 8]
and eax, 0xfffffffe
neg eax
lea ecx, [ebx + 4]
sbb eax, eax
and eax, ecx
mov ecx, dword [ebx - 0x1c]
push eax
push dword [ebx - 0xc]
mov eax, dword [ebp - 4]
call fcn.1001b511
pop ecx
pop ecx
jmp 0x1003450b
mov esi, dword [ebp - 4]
push 0
push 0x71
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
mov ecx, dword [ebx - 0xc]
push 0
push eax
mov eax, esi
call fcn.1001b511
add esp, 0x10
jmp 0x1003450b
mov esi, dword [ebp - 4]
xor edi, edi
push edi
lea eax, [ebx + 4]
push 0x71
xor ecx, ecx
call fcn.1001aa5f
mov dword [ebp - 0x28], eax
push edi
lea eax, [ebx - 0x1c]
push 0x1a
xor ecx, ecx
call fcn.1001aa5f
mov ecx, dword [ebp - 0x28]
push eax
push 0x76
xor eax, eax
call fcn.1001aa5f
mov ecx, dword [ebx - 0x2c]
push edi
push eax
mov eax, esi
call fcn.1001b511
add esp, 0x20
jmp 0x1003450b
mov eax, dword [0x10041954]
and eax, 1
jmp 0x1003457f
mov eax, dword [eax]
push 0x40
call fcn.100031b5
jmp 0x10034c24
mov esi, dword [ebx + 4]
mov dword [ebp - 0x10], esi
call fcn.100226c2
jmp case.0x100344b7.10
mov eax, dword [ebx - 0xc]
test eax, eax
mov dword [ebp - 0x10], eax
je case.0x100344b7.10
movzx ecx, word [eax]
test cx, cx
jle case.0x100344b7.10
mov dl, byte [ebx + 4]
movsx ecx, cx
imul ecx, ecx, 0x38
mov byte [ecx + eax - 0x1b], dl
jmp case.0x100344b7.10
push dword [ebx + 4]
lea eax, [ebx - 0x2c]
push dword [ebx - 0xc]
push 0
push eax
lea eax, [ebx - 0x3c]
push eax
lea eax, [ebx - 0x4c]
push eax
push dword [ebx - 0x5c]
mov eax, dword [ebp - 4]
call fcn.100225fc
add esp, 0x1c
push dword [ebp - 4]
mov ecx, eax
lea eax, [ebx - 0x1c]
mov dword [ebp - 0x10], ecx
call fcn.10022681
jmp 0x100344f5
push dword [ebx + 4]
lea eax, [ebx - 0x1c]
push dword [ebx - 0xc]
push dword [ebx - 0x3c]
push eax
push 0
push 0
push dword [ebx - 0x5c]
mov eax, dword [ebp - 4]
call fcn.100225fc
add esp, 0x1c
jmp 0x1003450b
xor edi, edi
cmp dword [ebx - 0x5c], edi
jne 0x10034d66
test dword [ebx - 0x18], 0xfffffffe
jne 0x10034d66
cmp dword [ebx - 0xc], edi
jne 0x10034d66
cmp dword [ebx + 4], edi
jne 0x10034d66
mov eax, dword [ebx - 0x3c]
jmp 0x1003450b
mov esi, dword [ebx - 0x3c]
call fcn.100226c2
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push dword [ebx - 0x3c]
xor eax, eax
push dword [ebp - 4]
call fcn.10029c73
add esp, 0x24
push dword [ebx + 4]
push dword [ebx - 0xc]
push eax
lea eax, [ebx - 0x1c]
push eax
push edi
push edi
push dword [ebx - 0x5c]
jmp 0x10034d34
and dword [ebp - 0x10], 0
and dword [ebp - 0xc], 1
jmp case.0x100344b7.10
mov ecx, dword [ebp - 4]
mov edi, dword [ecx]
lea eax, [ebx + 4]
push eax
lea eax, [ebx - 0xc]
push eax
xor eax, eax
call fcn.10022468
jmp 0x10034c23
push 0
push 0
lea eax, [ebx - 0xc]
push eax
push dword [ebp - 4]
call fcn.10029d56
jmp 0x10034c47
lea eax, [ebx - 0xc]
push 0
push eax
lea eax, [ebx - 0x1c]
jmp 0x10034dc4
lea eax, [ebx - 0xc]
push eax
lea eax, [ebx - 0x1c]
push eax
lea eax, [ebx - 0x2c]
jmp 0x10034dc4
mov eax, dword [ebp - 0xc]
and dword [ebp - 0x10], 0
and eax, 1
or eax, 2
jmp 0x1003457f
mov ecx, dword [ebx - 0x2c]
push 0
push dword [ebx - 0xc]
call fcn.1001b511
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
je case.0x100344b7.10
mov ecx, dword [eax]
mov eax, dword [eax + 0xc]
mov dl, byte [ebx + 4]
shl ecx, 4
mov byte [ecx + eax - 8], dl
jmp case.0x100344b7.10
push 0
push dword [ebx - 0xc]
xor ecx, ecx
call fcn.1001b511
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
je case.0x100344b7.10
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x100344b7.10
mov cl, byte [ebx + 4]
mov byte [eax + 8], cl
jmp case.0x100344b7.10
mov eax, dword [ebx + 4]
mov dword [ebp - 0x10], eax
jmp 0x10034a38
mov eax, dword [ebx - 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 4]
jmp 0x1003457f
mov eax, dword [ebx - 0x1c]
mov dword [ebp - 0xc], eax
jmp case.0x100344b7.82
push dword [ebp - 4]
mov ecx, dword [ebx - 0x1c]
lea eax, [ebx - 0xc]
call fcn.10022681
pop ecx
push dword [ebx + 4]
push dword [ebx - 0x1c]
push dword [ebp - 4]
call fcn.1002335d
jmp 0x10034942
push dword [ebp - 4]
mov ecx, dword [ebx - 0x3c]
lea eax, [ebx - 0x2c]
call fcn.10022681
mov eax, dword [ebx - 0xc]
mov ecx, dword [ebp - 4]
mov dword [esp], 0x10047574
call fcn.1001b5b9
pop ecx
push dword [ebx - 0x4c]
push dword [ebx + 4]
push dword [ebx - 0xc]
push dword [ebx - 0x3c]
push dword [ebp - 4]
call fcn.1002f220
jmp 0x10034565
mov ecx, dword [ebx - 0x3c]
lea eax, [ebx - 0x1c]
push eax
push dword [ebx + 4]
jmp 0x10034c1b
lea eax, [ebx - 0x1c]
push eax
push dword [ebx + 4]
xor ecx, ecx
jmp 0x10034c1b
push dword [ebx - 0x6c]
push dword [ebx - 0x3c]
push 0
push dword [ebx - 0xc]
push dword [ebx - 0x4c]
push eax
call fcn.100253f3
jmp 0x10034873
push dword [ebx - 0x3c]
push dword [ebx - 0xc]
push dword [ebx + 4]
push 0
push dword [ebx - 0x1c]
jmp 0x10034f04
push dword [ebx - 0x4c]
push dword [ebx - 0x1c]
push 0
push 0
push dword [ebx - 0x2c]
jmp 0x10034f04
mov ecx, dword [ebx - 0x1c]
push 0
push dword [ebx + 4]
jmp 0x10034c1e
push 0
push dword [ebx + 4]
xor ecx, ecx
jmp 0x10034c1e
lea eax, [ebx + 4]
push eax
mov eax, dword [ebp - 4]
push dword [eax]
mov eax, dword [ebx - 0x1c]
call fcn.100222ad
jmp 0x10034c23
lea eax, [ebx + 4]
push eax
mov eax, dword [ebp - 4]
push dword [eax]
xor eax, eax
jmp 0x10034f53
mov eax, dword [ebx - 0xc]
lea edx, [ebx - 0x1c]
mov dword [ebp - 0x10], eax
lea ecx, [ebx + 4]
call fcn.1001ab07
jmp case.0x100344b7.10
movzx ecx, word [ebx + 2]
push 0
push ecx
lea eax, [ebx + 4]
xor ecx, ecx
mov esi, dword [ebp - 4]
call fcn.1001aa5f
jmp 0x10034c23
push 0
push 0x1a
jmp 0x10034f87
mov esi, dword [ebp - 4]
push 0
lea eax, [ebx - 0x1c]
push 0x1a
xor ecx, ecx
call fcn.1001aa5f
mov edi, eax
push 0
lea eax, [ebx + 4]
push 0x1a
xor ecx, ecx
call fcn.1001aa5f
mov ecx, eax
push edi
push 0x76
xor eax, eax
call fcn.1001aa5f
add esp, 0x18
jmp 0x1003450b
mov esi, dword [ebp - 4]
xor edi, edi
push edi
lea eax, [ebx - 0x3c]
push 0x1a
xor ecx, ecx
call fcn.1001aa5f
mov dword [ebp - 0x24], eax
push edi
lea eax, [ebx - 0x1c]
push 0x1a
xor ecx, ecx
call fcn.1001aa5f
mov dword [ebp - 0x28], eax
push edi
lea eax, [ebx + 4]
push 0x1a
xor ecx, ecx
call fcn.1001aa5f
push dword [ebp - 0x28]
mov ecx, eax
push 0x76
xor eax, eax
call fcn.1001aa5f
push dword [ebp - 0x24]
mov ecx, eax
push 0x76
xor eax, eax
call fcn.1001aa5f
add esp, 0x28
jmp 0x1003450b
mov ecx, dword [ebp - 4]
lea eax, [ebx + 4]
call fcn.1001aa87
jmp 0x1003450b
mov esi, dword [ebp - 4]
push 0
lea eax, [ebx + 4]
push 0x85
xor ecx, ecx
call fcn.1001aa5f
pop ecx
mov dword [ebp - 0x10], eax
mov esi, eax
mov eax, dword [ebp - 4]
pop ecx
call fcn.1001ab8b
jmp case.0x100344b7.10
mov esi, dword [ebx - 0x1c]
mov edi, dword [ebp - 4]
lea eax, [ebx + 4]
call fcn.1001a5e9
jmp 0x1003450b
push dword [ebx - 0x2c]
mov esi, dword [ebp - 4]
lea eax, [ebx - 0xc]
push 0x24
xor ecx, ecx
call fcn.1001aa5f
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
lea edx, [ebx - 0x4c]
jmp 0x10034f73
mov eax, dword [ebx - 0xc]
test eax, eax
je 0x100350b3
cmp dword [eax], 0x7f
jle 0x100350b3
mov edi, dword [ebp - 4]
lea eax, [ebx - 0x3c]
push eax
push 0x10047580
call fcn.100049b4
pop ecx
pop ecx
push dword [ebx - 0xc]
lea esi, [ebx - 0x3c]
push dword [ebp - 4]
mov eax, esi
call fcn.1001ab2b
pop ecx
pop ecx
lea ecx, [ebx + 4]
mov edx, esi
mov dword [ebp - 0x10], eax
call fcn.1001ab07
cmp dword [ebx - 0x1c], 0
je case.0x100344b7.10
test eax, eax
je case.0x100344b7.10
or word [eax + 2], 0x10
jmp case.0x100344b7.10
push 0
lea esi, [ebx - 0x2c]
push eax
mov eax, esi
call fcn.1001ab2b
pop ecx
pop ecx
mov edx, esi
jmp 0x10034f70
push 0
lea esi, [ebx + 4]
push eax
mov eax, esi
call fcn.1001ab2b
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
je case.0x100344b7.10
mov byte [eax], 0x9a
mov ecx, dword [esi]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 0x10], ecx
jmp case.0x100344b7.10
movzx eax, word [ebx - 0xe]
push dword [ebx - 0x1c]
mov ecx, dword [ebx + 4]
push eax
xor eax, eax
jmp 0x10034f8c
mov eax, dword [ebx + 4]
and dword [ebp - 8], 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xc], eax
jmp case.0x100344b7.10
mov eax, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 1
jmp case.0x100344b7.10
xor edi, edi
push edi
push dword [ebx - 0xc]
xor ecx, ecx
mov esi, eax
call fcn.1001b511
push edi
push dword [ebx - 0x2c]
mov ecx, eax
mov eax, esi
call fcn.1001b511
mov ecx, eax
mov eax, dword [ebx + 4]
add esp, 0x10
cmp eax, edi
je 0x100351a5
push edi
push eax
mov eax, esi
call fcn.1001b511
pop ecx
pop ecx
mov ecx, eax
push ecx
lea eax, [ebx - 0x1c]
push esi
call fcn.1001ab2b
cmp dword [ebx - 0x14], edi
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
je 0x100351ca
push eax
push 0x13
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebx - 0xc]
mov edx, dword [ebx - 0x2c]
add ecx, 0xc
add edx, 0xc
call fcn.1001ab07
cmp eax, edi
je case.0x100344b7.10
or word [eax + 2], 0x80
jmp case.0x100344b7.10
movzx eax, word [ebx + 2]
push dword [ebx - 0xc]
mov esi, dword [ebp - 4]
push eax
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
mov edx, dword [ebx - 0xc]
pop ecx
pop ecx
add edx, 0xc
jmp 0x10034f70
push dword [ebx - 0x1c]
push 0x47
mov esi, dword [ebp - 4]
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
mov edx, dword [ebx - 0x1c]
jmp 0x10035205
push dword [ebx - 0x1c]
push 0x48
jmp 0x10035214
push dword [ebx - 0x2c]
mov esi, dword [ebp - 4]
push 0x48
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
mov edx, dword [ebx - 0x2c]
jmp 0x10035205
movzx eax, word [ebx - 0xe]
push dword [ebx + 4]
push eax
mov esi, dword [ebp - 4]
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
pop ecx
pop ecx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x10], eax
add ecx, 0xc
lea edx, [ebx - 0xc]
jmp 0x10034f76
push dword [ebx + 4]
push 0x5b
jmp 0x1003524a
push dword [ebx + 4]
push 0x5c
jmp 0x1003524a
push 0
push dword [ebx - 0x1c]
xor ecx, ecx
mov edi, eax
call fcn.1001b511
push 0
push dword [ebx + 4]
mov ecx, eax
mov eax, edi
call fcn.1001b511
push dword [ebx - 0x3c]
mov dword [ebp - 0x20], eax
push 0x45
xor eax, eax
xor ecx, ecx
mov esi, edi
call fcn.1001aa5f
add esp, 0x18
test eax, eax
mov dword [ebp - 0x10], eax
je 0x100352bb
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x1c], eax
jmp 0x100352c6
push dword [edi]
mov esi, dword [ebp - 0x20]
call fcn.1001b5dd
pop ecx
cmp dword [ebx - 0x2c], 0
je 0x100352e1
push dword [ebp - 0x10]
xor eax, eax
push 0x13
xor ecx, ecx
mov esi, edi
call fcn.1001aa5f
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebx + 4]
mov edx, dword [ebx - 0x3c]
mov eax, dword [ebp - 0x10]
add ecx, 0xc
add edx, 0xc
jmp 0x10034f76
push dword [ebx - 0x3c]
mov esi, dword [ebp - 4]
push 0x46
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
mov edi, eax
test edi, edi
pop ecx
pop ecx
mov dword [ebp - 0x10], edi
je 0x10035321
mov eax, dword [ebx - 0xc]
mov dword [edi + 0x1c], eax
push esi
mov eax, edi
call fcn.1001a94a
jmp 0x1003532d
mov eax, esi
push dword [eax]
mov esi, dword [ebx - 0xc]
call fcn.1001b5dd
cmp dword [ebx - 0x2c], 0
pop ecx
je 0x1003534a
mov esi, dword [ebp - 4]
push edi
xor eax, eax
xor ecx, ecx
push 0x13
call fcn.1001aa5f
pop ecx
mov edi, eax
pop ecx
mov dword [ebp - 0x10], edi
mov edx, dword [ebx - 0x3c]
add edx, 0xc
mov eax, edi
jmp 0x10034f73
mov esi, dword [ebp - 4]
push 0
push 0x74
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
mov edi, eax
test edi, edi
pop ecx
pop ecx
mov dword [ebp - 0x10], edi
je 0x10035388
mov eax, dword [ebx - 0xc]
mov dword [edi + 0x1c], eax
or word [edi + 2], 0x1000
push esi
mov eax, edi
call fcn.1001a94a
jmp 0x10035393
push dword [ebx - 0xc]
push dword [esi]
call fcn.10029d38
pop ecx
pop ecx
lea edx, [ebx - 0x1c]
jmp 0x10035350
push dword [ebx - 0x3c]
mov esi, dword [ebp - 4]
push 0x46
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
mov edi, eax
test edi, edi
pop ecx
pop ecx
mov dword [ebp - 0x10], edi
je 0x100353cb
mov eax, dword [ebx - 0xc]
mov dword [edi + 0x1c], eax
or word [edi + 2], 0x1000
push esi
mov eax, edi
call fcn.1001a94a
jmp 0x100353d6
push dword [ebx - 0xc]
push dword [esi]
call fcn.10029d38
pop ecx
cmp dword [ebx - 0x2c], 0
pop ecx
je 0x1003534a
jmp 0x10035337
mov esi, dword [ebp - 4]
mov edi, dword [esi]
lea eax, [ebx + 4]
lea ecx, [ebx - 0xc]
push eax
mov dword [ebp - 0x28], eax
push ecx
xor eax, eax
mov dword [ebp - 0x24], ecx
call fcn.10022468
push dword [ebx - 0x2c]
mov dword [ebp - 0x20], eax
push 0x46
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
mov esi, eax
xor edi, edi
add esp, 0x10
cmp esi, edi
mov dword [ebp - 0x10], esi
je 0x1003544b
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push dword [ebp - 0x20]
xor eax, eax
push dword [ebp - 4]
call fcn.10029c73
add esp, 0x24
push dword [ebp - 4]
mov dword [esi + 0x1c], eax
or word [esi + 2], 0x1000
mov eax, esi
call fcn.1001a94a
jmp 0x1003545d
mov eax, dword [ebp - 4]
push dword [eax]
mov ebx, dword [ebp - 0x20]
call fcn.10022546
mov ebx, dword [ebp - 0x1c]
xor edi, edi
cmp dword [ebx - 0x1c], edi
pop ecx
je 0x10035479
push esi
mov esi, dword [ebp - 4]
push 0x13
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0x10], esi
mov eax, dword [ebp - 0x28]
cmp dword [eax], edi
jne 0x10035483
mov eax, dword [ebp - 0x24]
mov edx, dword [ebx - 0x2c]
mov ecx, eax
add edx, 0xc
mov eax, esi
jmp 0x10034f76
mov esi, dword [ebp - 4]
push 0
push 0x14
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
je 0x100354cd
mov ecx, dword [ebx - 0xc]
mov dword [eax + 0x1c], ecx
or word [eax + 2], 0x1000
lea ecx, [ebx + 4]
lea edx, [ebx - 0x2c]
call fcn.1001ab07
push esi
call fcn.1001a94a
jmp 0x100344f5
push dword [ebx - 0xc]
jmp 0x10034b96
push dword [ebx - 0x2c]
mov ecx, dword [ebx - 0xc]
mov esi, dword [ebp - 4]
push 0x86
xor eax, eax
call fcn.1001aa5f
mov edi, eax
test edi, edi
pop ecx
pop ecx
mov dword [ebp - 0x10], edi
je 0x10035505
mov eax, dword [ebx - 0x1c]
mov dword [edi + 0x1c], eax
push esi
mov eax, edi
call fcn.1001a94a
jmp 0x1003550f
push dword [esi]
mov esi, dword [ebx - 0x1c]
call fcn.1001b5dd
pop ecx
lea edx, [ebx - 0x3c]
jmp 0x10035350
mov ecx, dword [ebx - 0x3c]
push 0
push dword [ebx - 0x1c]
call fcn.1001b511
push 0
push dword [ebx + 4]
mov ecx, eax
mov eax, dword [ebp - 4]
jmp 0x10034c42
xor ecx, ecx
jmp 0x1003551b
push dword [ebx - 0x6c]
mov esi, dword [ebp - 4]
mov edi, dword [esi]
push 0
lea eax, [ebx + 4]
push eax
lea eax, [ebx - 0x9c]
push eax
push dword [ebx - 0x8c]
lea eax, [ebx - 0x2c]
push dword [ebx - 0xc]
push 0
push eax
xor eax, eax
call fcn.10022468
pop ecx
pop ecx
push eax
lea eax, [ebx - 0x4c]
push eax
lea eax, [ebx - 0x5c]
push eax
push esi
jmp 0x100349ad
mov dword [ebp - 0x10], 2
jmp case.0x100344b7.10
xor esi, esi
test dword [ebx - 8], 0xfffffffe
jbe 0x100355ab
mov edi, dword [ebp - 4]
push esi
push 0x97
xor eax, eax
xor ecx, ecx
mov esi, edi
call fcn.1001aa5f
pop ecx
mov esi, eax
pop ecx
lea eax, [ebx - 0xc]
call fcn.1001a5e9
mov ecx, dword [ebx - 0x3c]
lea eax, [ebx - 0x1c]
push eax
mov eax, dword [ebp - 4]
push esi
call fcn.1001b511
mov ecx, dword [ebp - 4]
mov esi, eax
push 0x10045fe0
mov dword [ebp - 0x10], esi
call fcn.1001b5b9
add esp, 0xc
test esi, esi
je case.0x100344b7.10
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
mov dl, byte [ebx + 4]
shl eax, 4
mov byte [eax + ecx - 8], dl
jmp case.0x100344b7.10
xor esi, esi
test dword [ebx - 8], 0xfffffffe
jbe 0x10035617
mov edi, dword [ebp - 4]
push esi
push 0x97
xor eax, eax
xor ecx, ecx
mov esi, edi
call fcn.1001aa5f
pop ecx
mov esi, eax
pop ecx
lea eax, [ebx - 0xc]
call fcn.1001a5e9
xor ecx, ecx
jmp 0x100355ae
push dword [ebx - 0xc]
push dword [ebx + 4]
push eax
call fcn.10022095
jmp 0x10034942
mov edi, eax
call fcn.1002b031
test eax, eax
je case.0x100344b7.10
xor ecx, ecx
push ecx
push ecx
push ecx
push 0x44
call fcn.1001180b
jmp 0x100349da
push 0
lea eax, [ebx + 4]
push 0
push eax
lea eax, [ebx - 0xc]
mov ecx, dword [ebp - 4]
push eax
call fcn.1002770a
jmp 0x100349da
push 0
lea eax, [ebx + 4]
push eax
lea eax, [ebx - 0x1c]
push eax
lea eax, [ebx - 0x2c]
jmp 0x10035657
push 0
lea eax, [ebx - 0xc]
push eax
lea eax, [ebx - 0x2c]
push eax
lea eax, [ebx - 0x3c]
jmp 0x10035657
push 1
jmp 0x10035667
push 1
jmp 0x10035676
mov eax, dword [ebx - 0x2c]
mov ecx, dword [ebx + 4]
sub ecx, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 8]
and eax, 0xfffffffe
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x28]
and ecx, 1
xor eax, ecx
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebx - 0xc]
push dword [ebp - 4]
call fcn.1002e670
jmp 0x10034942
push dword [ebx - 0x7c]
lea esi, [ebx - 0x5c]
push dword [ebx - 0x9c]
lea edi, [ebx - 0x6c]
push dword [ebx + 4]
mov ecx, edi
push dword [ebx - 0x1c]
push dword [ebx - 0x38]
push dword [ebx - 0x3c]
push dword [ebx - 0x4c]
push eax
mov eax, esi
call fcn.1002e315
add esp, 0x20
test dword [ebx - 0x58], 0xfffffffe
jne 0x100356f9
mov eax, dword [edi]
mov esi, dword [edi + 4]
jmp 0x100356fe
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], esi
jmp case.0x100344b7.10
mov dword [ebp - 0x10], 0x21
jmp case.0x100344b7.10
mov dword [ebp - 0x10], 0x1d
jmp case.0x100344b7.10
mov dword [ebp - 0x10], 0x2f
jmp case.0x100344b7.10
movzx eax, word [ebx + 2]
jmp 0x10034e5c
mov dword [ebp - 0x10], 0x6a
jmp 0x10034e6a
mov eax, dword [ebx - 0x1c]
mov eax, dword [eax + 0x28]
mov ecx, dword [ebx - 0xc]
mov dword [eax + 0x24], ecx
mov eax, dword [ebx - 0x1c]
mov ecx, dword [ebx - 0xc]
mov dword [eax + 0x28], ecx
mov eax, dword [ebx - 0x1c]
jmp 0x1003450b
mov eax, dword [ebx - 0xc]
mov dword [eax + 0x28], eax
mov eax, dword [ebx - 0xc]
jmp 0x1003450b
push dword [ebx - 0x3c]
mov ecx, dword [ebp - 4]
push dword [ebx - 0xc]
mov edi, dword [ebx + 4]
push dword [ecx]
lea eax, [ebx - 0x2c]
call fcn.1002e9a6
add esp, 0xc
jmp 0x1003450b
push dword [ebx - 0x6c]
lea eax, [ebx - 0x4c]
push 0
push dword [ebx - 0xc]
push dword [ebx - 0x3c]
mov ecx, dword [ebp - 4]
mov edi, dword [ecx]
call fcn.1002e93a
jmp 0x10034c47
push dword [ebx - 0x3c]
lea eax, [ebx - 0x1c]
push dword [ebx + 4]
push 0
push dword [ebx - 0xc]
jmp 0x10035799
push dword [eax]
mov edi, dword [ebx + 4]
lea esi, [ebx - 0xc]
call fcn.1002ea06
jmp 0x10034c24
push dword [eax]
mov esi, dword [ebx + 4]
call fcn.1002e8f8
jmp 0x10034c24
mov esi, dword [ebp - 4]
push 0
push 0x36
xor eax, eax
xor ecx, ecx
call fcn.1001aa5f
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
je case.0x100344b7.10
mov byte [eax + 1], 4
lea edx, [ebx - 0x2c]
jmp 0x10034f73
mov esi, dword [ebp - 4]
push 0
lea eax, [ebx - 0xc]
push 0x36
xor ecx, ecx
call fcn.1001aa5f
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
je case.0x100344b7.10
mov cl, byte [ebx - 0x2c]
mov byte [eax + 1], cl
jmp 0x1003508c
mov dword [ebp - 0x10], 3
jmp case.0x100344b7.10
push dword [ebx - 0xc]
push dword [ebx + 4]
push eax
call fcn.1002eaa6
jmp 0x10034942
push dword [ebx + 4]
mov eax, dword [ebx - 0x2c]
push dword [ebx - 0xc]
push eax
push 0x1004a360
push 0x18
mov ecx, dword [ebp - 4]
call fcn.1001ec59
jmp 0x10034565
mov eax, dword [ebx + 4]
push eax
push 0
push 0
push 0x1004a340
push 0x19
jmp 0x10035859
mov edi, eax
call fcn.1002952e
test eax, eax
jne case.0x100344b7.10
push eax
push edi
call fcn.10022a35
jmp 0x10034a12
lea eax, [ebx + 4]
push eax
lea eax, [ebx - 0xc]
push eax
push dword [ebp - 4]
call fcn.10022a82
jmp 0x10034942
push 0
push eax
xor eax, eax
call fcn.1001e57f
jmp 0x10034a12
lea eax, [ebx + 4]
push eax
push dword [ebp - 4]
lea eax, [ebx - 0xc]
jmp 0x100358ac
lea eax, [ebx + 4]
push eax
push dword [ebx - 0x2c]
mov eax, dword [ebp - 4]
call fcn.1001da84
jmp 0x10034a12
lea eax, [ebx + 4]
push eax
push dword [ebp - 4]
call fcn.1001dce7
jmp 0x10034a12
mov ecx, dword [eax]
mov byte [ecx + 0xe2], 0
push dword [ebx + 4]
push eax
call fcn.1001dea0
jmp 0x10034a12
push 0
call fcn.10030576
jmp 0x100344f5
lea eax, [ebx + 4]
push eax
mov eax, dword [ebp - 4]
jmp 0x10035900
lea eax, [ebx + 4]
push eax
lea eax, [ebx - 0x1c]
push eax
lea eax, [ebx - 0x2c]
push eax
push dword [ebp - 4]
call fcn.10030434
jmp 0x100349da
mov esi, eax
call fcn.10030538
and dword [esi + 0x19c], 0
and dword [esi + 0x1a0], 1
jmp case.0x100344b7.10
mov ecx, dword [ebp - 4]
lea eax, [ebx + 4]
call fcn.10030704
mov eax, dword [ebp + 0xc]
shl eax, 2
movzx ecx, byte [eax + 0x10043c7a]
movzx edx, word [eax + 0x10043c78]
mov eax, dword [ebp + 8]
sub dword [eax], ecx
mov esi, dword [eax]
mov dword [ebp + 0xc], esi
mov esi, ecx
shl esi, 4
sub ebx, esi
movzx esi, word [ebx]
movsx esi, word [esi*2 + 0x10043428]
movzx edi, dx
add esi, edi
movzx esi, word [esi*2 + 0x10041968]
cmp esi, 0x268
jge 0x100359c3
test ecx, ecx
je 0x100359b3
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
inc eax
mov dword [ecx], eax
mov word [ebx + 0x10], si
lea edi, [ebx + 0x14]
lea esi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov word [ebx + 0x12], dx
movsd dword es:[edi], dword [esi]
jmp 0x100359de
lea ecx, [ebp - 0x10]
push ecx
push edx
push esi
call fcn.1003441a
add esp, 0xc
jmp 0x100359de
cmp dword [ebp + 0xc], 0
mov edi, dword [eax + 8]
jl 0x100359d8
mov esi, eax
call fcn.10034353
cmp dword [esi], 0
jge 0x100359ce
mov eax, dword [ebp + 8]
mov dword [eax + 8], edi
pop edi
pop esi
pop ebx
leave
ret