Function at 0x10112060
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1015bef0
mov eax, dword fs:[0]
push eax
sub esp, 0x87c
mov eax, dword [0x101ac034]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x62c], 0
mov dword [ebp - 0x630], 0
push 0x10181bf0
mov eax, dword [ebp + 8]
push eax
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x664], eax
cmp dword [ebp - 0x664], 0
jne 0x10112105
push 0x1016327a
lea ecx, [ebp - 0xa0]
call fcn.100029e0
mov dword [ebp - 0x7f4], eax
mov ecx, dword [ebp - 0x7f4]
mov dword [ebp - 0x7d0], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x62c]
or edx, 1
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x708], eax
jmp 0x1011215f
mov ecx, dword [ebp - 0x664]
cmp dword [ecx + 0x10], 0
jne 0x1011211d
mov dword [ebp - 0x6a0], 0x1016323f
jmp 0x1011212c
mov edx, dword [ebp - 0x664]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x6a0], eax
mov ecx, dword [ebp - 0x6a0]
push ecx
lea ecx, [ebp - 0x118]
call fcn.100029e0
mov dword [ebp - 0x864], eax
mov edx, dword [ebp - 0x62c]
or edx, 2
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x864]
mov dword [ebp - 0x708], eax
mov ecx, dword [ebp - 0x708]
mov dword [ebp - 0x7d8], ecx
mov edx, dword [ebp - 0x7d8]
push edx
lea ecx, [ebp - 0x40]
call fcn.1000d730
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x62c]
and eax, 2
je 0x1011219e
and dword [ebp - 0x62c], 0xfffffffd
lea ecx, [ebp - 0x118]
call fcn.10001f50
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x62c]
and ecx, 1
je 0x101121bf
and dword [ebp - 0x62c], 0xfffffffe
lea ecx, [ebp - 0xa0]
call fcn.10001f50
mov dword [ebp - 0x644], str.mailMsg
lea ecx, [ebp - 0x40]
call fcn.10001f00
mov dword [ebp - 0x640], eax
mov edx, dword [ebp - 0x640]
mov al, byte [edx]
mov byte [ebp - 0x636], al
mov ecx, dword [ebp - 0x644]
cmp al, byte [ecx]
jne 0x10112235
cmp byte [ebp - 0x636], 0
je 0x10112229
mov edx, dword [ebp - 0x640]
mov al, byte [edx + 1]
mov byte [ebp - 0x634], al
mov ecx, dword [ebp - 0x644]
cmp al, byte [ecx + 1]
jne 0x10112235
add dword [ebp - 0x640], 2
add dword [ebp - 0x644], 2
cmp byte [ebp - 0x634], 0
jne 0x101121d7
mov dword [ebp - 0x710], 0
jmp 0x10112240
sbb edx, edx
or edx, 1
mov dword [ebp - 0x710], edx
mov eax, dword [ebp - 0x710]
mov dword [ebp - 0x82c], eax
cmp dword [ebp - 0x82c], 0
jne 0x101134fe
lea ecx, [ebp - 0x628]
call fcn.101139d0
mov byte [ebp - 4], 3
push 0x10181c08
mov ecx, dword [ebp + 8]
push ecx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x66c], eax
cmp dword [ebp - 0x66c], 0
jne 0x101122cb
push 0x1016328e
lea ecx, [ebp - 0x388]
call fcn.100029e0
mov dword [ebp - 0x738], eax
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x740], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x62c]
or eax, 4
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x740]
mov dword [ebp - 0x720], ecx
jmp 0x10112325
mov edx, dword [ebp - 0x66c]
cmp dword [edx + 0x10], 0
jne 0x101122e3
mov dword [ebp - 0x718], 0x1016327b
jmp 0x101122f2
mov eax, dword [ebp - 0x66c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x718], ecx
mov edx, dword [ebp - 0x718]
push edx
lea ecx, [ebp - 0x148]
call fcn.100029e0
mov dword [ebp - 0x748], eax
mov eax, dword [ebp - 0x62c]
or eax, 8
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x748]
mov dword [ebp - 0x720], ecx
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x750], edx
mov eax, dword [ebp - 0x750]
push eax
lea ecx, [ebp - 0x628]
call fcn.1000aca0
mov ecx, dword [ebp - 0x62c]
and ecx, 8
je 0x10112360
and dword [ebp - 0x62c], 0xfffffff7
lea ecx, [ebp - 0x148]
call fcn.10001f50
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x62c]
and edx, 4
je 0x10112384
and dword [ebp - 0x62c], 0xfffffffb
lea ecx, [ebp - 0x388]
call fcn.10001f50
push str.protocol_version
mov eax, dword [ebp + 8]
push eax
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x674], eax
cmp dword [ebp - 0x674], 0
jne 0x101123e7
push 0x1016328f
lea ecx, [ebp - 0x178]
call fcn.100029e0
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x758]
mov dword [ebp - 0x760], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x62c]
or edx, 0x10
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x730], eax
jmp 0x10112441
mov ecx, dword [ebp - 0x674]
cmp dword [ecx + 0x10], 0
jne 0x101123ff
mov dword [ebp - 0x728], 0x101632bd
jmp 0x1011240e
mov edx, dword [ebp - 0x674]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x728]
push ecx
lea ecx, [ebp - 0xb8]
call fcn.100029e0
mov dword [ebp - 0x768], eax
mov edx, dword [ebp - 0x62c]
or edx, 0x20
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x768]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x770]
push edx
lea ecx, [ebp - 0x610]
call fcn.1000aca0
mov eax, dword [ebp - 0x62c]
and eax, 0x20
je 0x1011247c
and dword [ebp - 0x62c], 0xffffffdf
lea ecx, [ebp - 0xb8]
call fcn.10001f50
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x62c]
and ecx, 0x10
je 0x101124a0
and dword [ebp - 0x62c], 0xffffffef
lea ecx, [ebp - 0x178]
call fcn.10001f50
push 0x10181c2c
mov edx, dword [ebp + 8]
push edx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x67c], eax
cmp dword [ebp - 0x67c], 0
jne 0x10112503
push 0x101632bf
lea ecx, [ebp - 0x1a8]
call fcn.100029e0
mov dword [ebp - 0x778], eax
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x780], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x62c]
or ecx, 0x40
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x780]
mov dword [ebp - 0x69c], edx
jmp 0x10112560
mov eax, dword [ebp - 0x67c]
cmp dword [eax + 0x10], 0
jne 0x1011251b
mov dword [ebp - 0x6e4], 0x101632be
jmp 0x1011252a
mov ecx, dword [ebp - 0x67c]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x6e4], edx
mov eax, dword [ebp - 0x6e4]
push eax
lea ecx, [ebp - 0x2f8]
call fcn.100029e0
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x62c]
or ecx, 0x80
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x69c]
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x790]
push ecx
lea ecx, [ebp - 0x5f8]
call fcn.1000aca0
mov edx, dword [ebp - 0x62c]
and edx, 0x80
je 0x101125a1
and dword [ebp - 0x62c], 0xffffff7f
lea ecx, [ebp - 0x2f8]
call fcn.10001f50
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x62c]
and eax, 0x40
je 0x101125c5
and dword [ebp - 0x62c], 0xffffffbf
lea ecx, [ebp - 0x1a8]
call fcn.10001f50
push 0x10181c38
mov ecx, dword [ebp + 8]
push ecx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x684], eax
cmp dword [ebp - 0x684], 0
jne 0x1011262a
push 0x101632fa
lea ecx, [ebp - 0x1d8]
call fcn.100029e0
mov dword [ebp - 0x798], eax
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x7a0], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x62c]
or eax, 0x100
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x6a4], ecx
jmp 0x10112686
mov edx, dword [ebp - 0x684]
cmp dword [edx + 0x10], 0
jne 0x10112642
mov dword [ebp - 0x70c], 0x101632fb
jmp 0x10112651
mov eax, dword [ebp - 0x684]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x70c], ecx
mov edx, dword [ebp - 0x70c]
push edx
lea ecx, [ebp - 0x400]
call fcn.100029e0
mov dword [ebp - 0x7a8], eax
mov eax, dword [ebp - 0x62c]
or eax, 0x200
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x7a8]
mov dword [ebp - 0x6a4], ecx
mov edx, dword [ebp - 0x6a4]
mov dword [ebp - 0x7b0], edx
mov eax, dword [ebp - 0x7b0]
push eax
lea ecx, [ebp - 0x5e0]
call fcn.1000aca0
mov ecx, dword [ebp - 0x62c]
and ecx, 0x200
je 0x101126c7
and dword [ebp - 0x62c], 0xfffffdff
lea ecx, [ebp - 0x400]
call fcn.10001f50
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x62c]
and edx, 0x100
je 0x101126f1
and dword [ebp - 0x62c], 0xfffffeff
lea ecx, [ebp - 0x1d8]
call fcn.10001f50
push 0x10181c40
mov eax, dword [ebp + 8]
push eax
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x68c], eax
cmp dword [ebp - 0x68c], 0
jne 0x10112757
push 0x1016334f
lea ecx, [ebp - 0x208]
call fcn.100029e0
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x7b8]
mov dword [ebp - 0x7bc], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x62c]
or edx, 0x400
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x6ac], eax
jmp 0x101127b4
mov ecx, dword [ebp - 0x68c]
cmp dword [ecx + 0x10], 0
jne 0x1011276f
mov dword [ebp - 0x6ec], 0x1016334e
jmp 0x1011277e
mov edx, dword [ebp - 0x68c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x6ec], eax
mov ecx, dword [ebp - 0x6ec]
push ecx
lea ecx, [ebp - 0x328]
call fcn.100029e0
mov dword [ebp - 0x7c0], eax
mov edx, dword [ebp - 0x62c]
or edx, 0x800
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x7c0]
mov dword [ebp - 0x6ac], eax
mov ecx, dword [ebp - 0x6ac]
mov dword [ebp - 0x7cc], ecx
mov edx, dword [ebp - 0x7cc]
push edx
lea ecx, [ebp - 0x5c8]
call fcn.1000aca0
mov eax, dword [ebp - 0x62c]
and eax, 0x800
je 0x101127f4
and dword [ebp - 0x62c], 0xfffff7ff
lea ecx, [ebp - 0x328]
call fcn.10001f50
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x62c]
and ecx, 0x400
je 0x1011281e
and dword [ebp - 0x62c], 0xfffffbff
lea ecx, [ebp - 0x208]
call fcn.10001f50
push 0x10181c44
mov edx, dword [ebp + 8]
push edx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x658], eax
cmp dword [ebp - 0x658], 0
jne 0x10112884
push 0x101633a2
lea ecx, [ebp - 0x238]
call fcn.100029e0
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x7d4]
mov dword [ebp - 0x7dc], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x62c]
or ecx, 0x1000
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x6b4], edx
jmp 0x101128e1
mov eax, dword [ebp - 0x658]
cmp dword [eax + 0x10], 0
jne 0x1011289c
mov dword [ebp - 0x72c], 0x101633a3
jmp 0x101128ab
mov ecx, dword [ebp - 0x658]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x72c]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.100029e0
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x62c]
or ecx, 0x2000
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x7e4]
mov dword [ebp - 0x6b4], edx
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 0x7ec], eax
mov ecx, dword [ebp - 0x7ec]
push ecx
lea ecx, [ebp - 0x5b0]
call fcn.1000aca0
mov edx, dword [ebp - 0x62c]
and edx, 0x2000
je 0x10112922
and dword [ebp - 0x62c], 0xffffdfff
lea ecx, [ebp - 0x3d0]
call fcn.10001f50
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x62c]
and eax, 0x1000
je 0x1011294b
and dword [ebp - 0x62c], 0xffffefff
lea ecx, [ebp - 0x238]
call fcn.10001f50
push 0x10181c50
mov ecx, dword [ebp + 8]
push ecx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x65c], eax
cmp dword [ebp - 0x65c], 0
jne 0x101129b0
push 0x1016340f
lea ecx, [ebp - 0x268]
call fcn.100029e0
mov dword [ebp - 0x734], eax
mov edx, dword [ebp - 0x734]
mov dword [ebp - 0x7fc], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x62c]
or eax, 0x4000
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x7fc]
mov dword [ebp - 0x6bc], ecx
jmp 0x10112a0c
mov edx, dword [ebp - 0x65c]
cmp dword [edx + 0x10], 0
jne 0x101129c8
mov dword [ebp - 0x6f4], 0x101633cf
jmp 0x101129d7
mov eax, dword [ebp - 0x65c]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x6f4], ecx
mov edx, dword [ebp - 0x6f4]
push edx
lea ecx, [ebp - 0x358]
call fcn.100029e0
mov dword [ebp - 0x804], eax
mov eax, dword [ebp - 0x62c]
or eax, 0x8000
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x804]
mov dword [ebp - 0x6bc], ecx
mov edx, dword [ebp - 0x6bc]
mov dword [ebp - 0x80c], edx
mov eax, dword [ebp - 0x80c]
push eax
lea ecx, [ebp - 0x598]
call fcn.1000aca0
mov ecx, dword [ebp - 0x62c]
and ecx, 0x8000
je 0x10112a4d
and dword [ebp - 0x62c], 0xffff7fff
lea ecx, [ebp - 0x358]
call fcn.10001f50
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x62c]
and edx, 0x4000
je 0x10112a77
and dword [ebp - 0x62c], 0xffffbfff
lea ecx, [ebp - 0x268]
call fcn.10001f50
push 0x10181c58
mov eax, dword [ebp + 8]
push eax
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x680], eax
cmp dword [ebp - 0x680], 0
jne 0x10112add
push 0x1016342a
lea ecx, [ebp - 0x298]
call fcn.100029e0
mov dword [ebp - 0x814], eax
mov ecx, dword [ebp - 0x814]
mov dword [ebp - 0x81c], ecx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x62c]
or edx, 0x10000
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x6c4], eax
jmp 0x10112b3a
mov ecx, dword [ebp - 0x680]
cmp dword [ecx + 0x10], 0
jne 0x10112af5
mov dword [ebp - 0x714], 0x1016342b
jmp 0x10112b04
mov edx, dword [ebp - 0x680]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x714]
push ecx
lea ecx, [ebp - 0x430]
call fcn.100029e0
mov dword [ebp - 0x828], eax
mov edx, dword [ebp - 0x62c]
or edx, 0x20000
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x828]
mov dword [ebp - 0x6c4], eax
mov ecx, dword [ebp - 0x6c4]
mov dword [ebp - 0x830], ecx
mov edx, dword [ebp - 0x830]
push edx
lea ecx, [ebp - 0x580]
call fcn.1000aca0
mov eax, dword [ebp - 0x62c]
and eax, 0x20000
je 0x10112b7a
and dword [ebp - 0x62c], 0xfffdffff
lea ecx, [ebp - 0x430]
call fcn.10001f50
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x62c]
and ecx, 0x10000
je 0x10112ba4
and dword [ebp - 0x62c], 0xfffeffff
lea ecx, [ebp - 0x298]
call fcn.10001f50
push str.body
mov edx, dword [ebp + 8]
push edx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x10112c0a
push 0x1016348a
lea ecx, [ebp - 0x100]
call fcn.100029e0
mov dword [ebp - 0x838], eax
mov eax, dword [ebp - 0x838]
mov dword [ebp - 0x840], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x62c]
or ecx, 0x40000
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x840]
mov dword [ebp - 0x6cc], edx
jmp 0x10112c67
mov eax, dword [ebp - 0x650]
cmp dword [eax + 0x10], 0
jne 0x10112c22
mov dword [ebp - 0x6fc], 0x1016346b
jmp 0x10112c31
mov ecx, dword [ebp - 0x650]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x6fc], edx
mov eax, dword [ebp - 0x6fc]
push eax
lea ecx, [ebp - 0xd0]
call fcn.100029e0
mov dword [ebp - 0x848], eax
mov ecx, dword [ebp - 0x62c]
or ecx, 0x80000
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x848]
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x6cc]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x850]
push ecx
lea ecx, [ebp - 0x568]
call fcn.1000aca0
mov edx, dword [ebp - 0x62c]
and edx, 0x80000
je 0x10112ca8
and dword [ebp - 0x62c], 0xfff7ffff
lea ecx, [ebp - 0xd0]
call fcn.10001f50
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x62c]
and eax, 0x40000
je 0x10112cd1
and dword [ebp - 0x62c], 0xfffbffff
lea ecx, [ebp - 0x100]
call fcn.10001f50
push 0x10181c68
mov ecx, dword [ebp + 8]
push ecx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x660], eax
cmp dword [ebp - 0x660], 0
jne 0x10112d36
push 0x1016348b
lea ecx, [ebp - 0x160]
call fcn.100029e0
mov dword [ebp - 0x858], eax
mov edx, dword [ebp - 0x858]
mov dword [ebp - 0x860], edx
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x62c]
or eax, 0x100000
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x860]
mov dword [ebp - 0x6d4], ecx
jmp 0x10112d92
mov edx, dword [ebp - 0x660]
cmp dword [edx + 0x10], 0
jne 0x10112d4e
mov dword [ebp - 0x724], 0x101634cb
jmp 0x10112d5d
mov eax, dword [ebp - 0x660]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x724]
push edx
lea ecx, [ebp - 0x130]
call fcn.100029e0
mov dword [ebp - 0x868], eax
mov eax, dword [ebp - 0x62c]
or eax, 0x200000
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x868]
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp - 0x6d4]
mov dword [ebp - 0x870], edx
mov eax, dword [ebp - 0x870]
push eax
lea ecx, [ebp - 0x4a8]
call fcn.1000aca0
mov ecx, dword [ebp - 0x62c]
and ecx, 0x200000
je 0x10112dd3
and dword [ebp - 0x62c], 0xffdfffff
lea ecx, [ebp - 0x130]
call fcn.10001f50
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x62c]
and edx, 0x100000
je 0x10112dfd
and dword [ebp - 0x62c], 0xffefffff
lea ecx, [ebp - 0x160]
call fcn.10001f50
push 0x10181c70
mov eax, dword [ebp + 8]
push eax
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x688], eax
cmp dword [ebp - 0x688], 0
jne 0x10112e63
push 0x101634e7
lea ecx, [ebp - 0x1c0]
call fcn.100029e0
mov dword [ebp - 0x878], eax
mov ecx, dword [ebp - 0x878]
mov dword [ebp - 0x84c], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x62c]
or edx, 0x400000
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x84c]
mov dword [ebp - 0x6dc], eax
jmp 0x10112ec0
mov ecx, dword [ebp - 0x688]
cmp dword [ecx + 0x10], 0
jne 0x10112e7b
mov dword [ebp - 0x704], 0x101634e6
jmp 0x10112e8a
mov edx, dword [ebp - 0x688]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x704], eax
mov ecx, dword [ebp - 0x704]
push ecx
lea ecx, [ebp - 0x190]
call fcn.100029e0
mov dword [ebp - 0x73c], eax
mov edx, dword [ebp - 0x62c]
or edx, 0x800000
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0x6dc], eax
mov ecx, dword [ebp - 0x6dc]
mov dword [ebp - 0x7e0], ecx
mov edx, dword [ebp - 0x7e0]
push edx
lea ecx, [ebp - 0x550]
call fcn.1000aca0
mov eax, dword [ebp - 0x62c]
and eax, 0x800000
je 0x10112f00
and dword [ebp - 0x62c], 0xff7fffff
lea ecx, [ebp - 0x190]
call fcn.10001f50
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x62c]
and ecx, 0x400000
je 0x10112f2a
and dword [ebp - 0x62c], 0xffbfffff
lea ecx, [ebp - 0x1c0]
call fcn.10001f50
push 0x10181c78
mov edx, dword [ebp + 8]
push edx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0
jne 0x10112f90
push 0x10163527
lea ecx, [ebp - 0x220]
call fcn.100029e0
mov dword [ebp - 0x744], eax
mov eax, dword [ebp - 0x744]
mov dword [ebp - 0x854], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x62c]
or ecx, 0x1000000
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x854]
mov dword [ebp - 0x71c], edx
jmp 0x10112fcc
mov eax, dword [ebp - 0x63c]
mov ecx, dword [eax + 0x14]
push ecx
lea edx, [ebp - 0x1f0]
push edx
call fcn.10035640
add esp, 8
mov dword [ebp - 0x74c], eax
mov eax, dword [ebp - 0x62c]
or eax, 0x2000000
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x74c]
mov dword [ebp - 0x71c], ecx
mov edx, dword [ebp - 0x71c]
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x7e8]
push eax
lea ecx, [ebp - 0x460]
call fcn.1000aca0
mov ecx, dword [ebp - 0x62c]
and ecx, 0x2000000
je 0x1011300d
and dword [ebp - 0x62c], 0xfdffffff
lea ecx, [ebp - 0x1f0]
call fcn.10001f50
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x62c]
and edx, 0x1000000
je 0x10113037
and dword [ebp - 0x62c], 0xfeffffff
lea ecx, [ebp - 0x220]
call fcn.10001f50
cmp dword [ebp - 0x63c], 0
je 0x101130a7
mov eax, dword [ebp - 0x63c]
cmp dword [eax + 0xc], 4
jne 0x101130a7
mov ecx, dword [ebp - 0x63c]
cmp dword [ecx + 0x10], 0
jne 0x10113064
mov dword [ebp - 0x694], 0x10163583
jmp 0x10113073
mov edx, dword [ebp - 0x63c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x694]
push ecx
lea ecx, [ebp - 0x460]
call fcn.1000ad50
lea ecx, [ebp - 0x460]
call fcn.10001f20
movzx edx, al
test edx, edx
je 0x101130a7
push 0x10181c84
lea ecx, [ebp - 0x460]
call fcn.1000ad50
push str.sender_name
mov eax, dword [ebp + 8]
push eax
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x670], eax
cmp dword [ebp - 0x670], 0
jne 0x1011310d
push 0x1016359d
lea ecx, [ebp - 0x280]
call fcn.100029e0
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x754]
mov dword [ebp - 0x834], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x62c]
or edx, 0x4000000
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x834]
mov dword [ebp - 0x690], eax
jmp 0x1011316a
mov ecx, dword [ebp - 0x670]
cmp dword [ecx + 0x10], 0
jne 0x10113125
mov dword [ebp - 0x698], 0x1016359e
jmp 0x10113134
mov edx, dword [ebp - 0x670]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x698], eax
mov ecx, dword [ebp - 0x698]
push ecx
lea ecx, [ebp - 0x250]
call fcn.100029e0
mov dword [ebp - 0x75c], eax
mov edx, dword [ebp - 0x62c]
or edx, 0x8000000
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x75c]
mov dword [ebp - 0x690], eax
mov ecx, dword [ebp - 0x690]
mov dword [ebp - 0x7f0], ecx
mov edx, dword [ebp - 0x7f0]
push edx
lea ecx, [ebp - 0x538]
call fcn.1000aca0
mov eax, dword [ebp - 0x62c]
and eax, 0x8000000
je 0x101131aa
and dword [ebp - 0x62c], 0xf7ffffff
lea ecx, [ebp - 0x250]
call fcn.10001f50
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x62c]
and ecx, 0x4000000
je 0x101131d4
and dword [ebp - 0x62c], 0xfbffffff
lea ecx, [ebp - 0x280]
call fcn.10001f50
push 0x10181c94
mov edx, dword [ebp + 8]
push edx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x6a8], eax
cmp dword [ebp - 0x6a8], 0
je 0x10113232
mov eax, dword [ebp - 0x6a8]
push eax
call fcn.101035b0
add esp, 4
push eax
lea ecx, [ebp - 0x2b0]
call fcn.100029e0
mov dword [ebp - 0x764], eax
mov ecx, dword [ebp - 0x764]
push ecx
lea ecx, [ebp - 0x520]
call fcn.1000aca0
lea ecx, [ebp - 0x2b0]
call fcn.10001f50
push str.recipient_name
mov edx, dword [ebp + 8]
push edx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x6b0], eax
cmp dword [ebp - 0x6b0], 0
je 0x10113290
mov eax, dword [ebp - 0x6b0]
push eax
call fcn.101035b0
add esp, 4
push eax
lea ecx, [ebp - 0x2e0]
call fcn.100029e0
mov dword [ebp - 0x874], eax
mov ecx, dword [ebp - 0x874]
push ecx
lea ecx, [ebp - 0x508]
call fcn.1000aca0
lea ecx, [ebp - 0x2e0]
call fcn.10001f50
push 0x10181ca0
mov edx, dword [ebp + 8]
push edx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x6b8], eax
cmp dword [ebp - 0x6b8], 0
je 0x101132ee
mov eax, dword [ebp - 0x6b8]
push eax
call fcn.101035b0
add esp, 4
push eax
lea ecx, [ebp - 0x310]
call fcn.100029e0
mov dword [ebp - 0x76c], eax
mov ecx, dword [ebp - 0x76c]
push ecx
lea ecx, [ebp - 0x490]
call fcn.1000aca0
lea ecx, [ebp - 0x310]
call fcn.10001f50
push str.cc_name
mov edx, dword [ebp + 8]
push edx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x6c0], eax
cmp dword [ebp - 0x6c0], 0
je 0x1011334c
mov eax, dword [ebp - 0x6c0]
push eax
call fcn.101035b0
add esp, 4
push eax
lea ecx, [ebp - 0x340]
call fcn.100029e0
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x7f8]
push ecx
lea ecx, [ebp - 0x478]
call fcn.1000aca0
lea ecx, [ebp - 0x340]
call fcn.10001f50
push str.attachments
mov edx, dword [ebp + 8]
push edx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x6c8], eax
cmp dword [ebp - 0x6c8], 0
je 0x101133aa
mov eax, dword [ebp - 0x6c8]
push eax
call fcn.101035b0
add esp, 4
push eax
lea ecx, [ebp - 0x370]
call fcn.100029e0
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x774]
push ecx
lea ecx, [ebp - 0x4d8]
call fcn.1000aca0
lea ecx, [ebp - 0x370]
call fcn.10001f50
push 0x10181cc8
mov edx, dword [ebp + 8]
push edx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 0
jne 0x10113410
push 0x1016359f
lea ecx, [ebp - 0x3e8]
call fcn.100029e0
mov dword [ebp - 0x83c], eax
mov eax, dword [ebp - 0x83c]
mov dword [ebp - 0x77c], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x62c]
or ecx, 0x10000000
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x77c]
mov dword [ebp - 0x6d8], edx
jmp 0x1011346d
mov eax, dword [ebp - 0x654]
cmp dword [eax + 0x10], 0
jne 0x10113428
mov dword [ebp - 0x6d0], 0x101635f1
jmp 0x10113437
mov ecx, dword [ebp - 0x654]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x6d0], edx
mov eax, dword [ebp - 0x6d0]
push eax
lea ecx, [ebp - 0x3b8]
call fcn.100029e0
mov dword [ebp - 0x800], eax
mov ecx, dword [ebp - 0x62c]
or ecx, 0x20000000
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x800]
mov dword [ebp - 0x6d8], edx
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x784]
push ecx
lea ecx, [ebp - 0x4f0]
call fcn.1000aca0
mov edx, dword [ebp - 0x62c]
and edx, 0x20000000
je 0x101134ae
and dword [ebp - 0x62c], 0xdfffffff
lea ecx, [ebp - 0x3b8]
call fcn.10001f50
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x62c]
and eax, 0x10000000
je 0x101134d7
and dword [ebp - 0x62c], 0xefffffff
lea ecx, [ebp - 0x3e8]
call fcn.10001f50
lea ecx, [ebp - 0x628]
push ecx
call fcn.1003ec30
mov ecx, eax
call fcn.10121960
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x628]
call fcn.1003f3b0
jmp 0x1011398c
mov dword [ebp - 0x648], str.downloadMsg
lea ecx, [ebp - 0x40]
call fcn.10001f00
mov dword [ebp - 0x64c], eax
mov edx, dword [ebp - 0x64c]
mov al, byte [edx]
mov byte [ebp - 0x631], al
mov ecx, dword [ebp - 0x648]
cmp al, byte [ecx]
jne 0x10113574
cmp byte [ebp - 0x631], 0
je 0x10113568
mov edx, dword [ebp - 0x64c]
mov al, byte [edx + 1]
mov byte [ebp - 0x632], al
mov ecx, dword [ebp - 0x648]
cmp al, byte [ecx + 1]
jne 0x10113574
add dword [ebp - 0x64c], 2
add dword [ebp - 0x648], 2
cmp byte [ebp - 0x632], 0
jne 0x10113516
mov dword [ebp - 0x6e0], 0
jmp 0x1011357f
sbb edx, edx
or edx, 1
mov dword [ebp - 0x6e0], edx
mov eax, dword [ebp - 0x6e0]
mov dword [ebp - 0x85c], eax
cmp dword [ebp - 0x85c], 0
jne 0x1011396e
lea ecx, [ebp - 0x824]
call fcn.1011c8b0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x7c8]
call fcn.1011c8b0
mov byte [ebp - 4], 0x13
push str.data_legacy_message_id
mov ecx, dword [ebp + 8]
push ecx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x678], eax
cmp dword [ebp - 0x678], 0
jne 0x1011361b
push 0x101635f2
lea ecx, [ebp - 0x448]
call fcn.100029e0
mov dword [ebp - 0x78c], eax
mov edx, dword [ebp - 0x78c]
mov dword [ebp - 0x808], edx
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x62c]
or eax, 0x40000000
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x808]
mov dword [ebp - 0x6f0], ecx
jmp 0x10113677
mov edx, dword [ebp - 0x678]
cmp dword [edx + 0x10], 0
jne 0x10113633
mov dword [ebp - 0x6e8], 0x101635f3
jmp 0x10113642
mov eax, dword [ebp - 0x678]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x6e8], ecx
mov edx, dword [ebp - 0x6e8]
push edx
lea ecx, [ebp - 0x418]
call fcn.100029e0
mov dword [ebp - 0x794], eax
mov eax, dword [ebp - 0x62c]
or eax, 0x80000000
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x6f0], ecx
mov edx, dword [ebp - 0x6f0]
mov dword [ebp - 0x844], edx
mov eax, dword [ebp - 0x844]
push eax
lea ecx, [ebp - 0x28]
call fcn.1000d730
mov dword [ebp - 4], 0x15
mov ecx, dword [ebp - 0x62c]
and ecx, 0x80000000
je 0x101136bc
and dword [ebp - 0x62c], 0x7fffffff
lea ecx, [ebp - 0x418]
call fcn.10001f50
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x62c]
and edx, 0x40000000
je 0x101136e3
and dword [ebp - 0x62c], 0xbfffffff
lea ecx, [ebp - 0x448]
call fcn.10001f50
push 0
push 0x10181d04
lea ecx, [ebp - 0x28]
call fcn.1000ad90
cmp eax, 0xffffffff
je 0x10113738
push 0
push str.ymreqid
lea ecx, [ebp - 0x28]
call fcn.1000ad90
push eax
push 0
lea eax, [ebp - 0x3a0]
push eax
lea ecx, [ebp - 0x28]
call fcn.1000adc0
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x79c]
push ecx
lea ecx, [ebp - 0x28]
call fcn.1000aca0
lea ecx, [ebp - 0x3a0]
call fcn.10001f50
push str.datalegacyid
lea ecx, [ebp - 0x58]
call fcn.100029e0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x824]
call fcn.1011c930
mov ecx, eax
call fcn.1000d7b0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x58]
call fcn.10001f50
push 0x10181d2c
mov ecx, dword [ebp + 8]
push ecx
call fcn.10104a80
add esp, 8
mov dword [ebp - 0x668], eax
cmp dword [ebp - 0x668], 0
jne 0x101137d2
push 0x10163622
lea ecx, [ebp - 0x2c8]
call fcn.100029e0
mov dword [ebp - 0x810], eax
mov edx, dword [ebp - 0x810]
mov dword [ebp - 0x7a4], edx
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x630]
or eax, 1
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x7a4]
mov dword [ebp - 0x700], ecx
jmp 0x1011382c
mov edx, dword [ebp - 0x668]
cmp dword [edx + 0x10], 0
jne 0x101137ea
mov dword [ebp - 0x6f8], 0x10163623
jmp 0x101137f9
mov eax, dword [ebp - 0x668]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f8]
push edx
lea ecx, [ebp - 0xe8]
call fcn.100029e0
mov dword [ebp - 0x86c], eax
mov eax, dword [ebp - 0x630]
or eax, 2
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x86c]
mov dword [ebp - 0x700], ecx
mov edx, dword [ebp - 0x700]
mov dword [ebp - 0x7ac], edx
mov eax, dword [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x70]
call fcn.1000d730
mov dword [ebp - 4], 0x19
mov ecx, dword [ebp - 0x630]
and ecx, 2
je 0x1011386b
and dword [ebp - 0x630], 0xfffffffd
lea ecx, [ebp - 0xe8]
call fcn.10001f50
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x630]
and edx, 1
je 0x1011388c
and dword [ebp - 0x630], 0xfffffffe
lea ecx, [ebp - 0x2c8]
call fcn.10001f50
push str.attachment_path
lea ecx, [ebp - 0x88]
call fcn.100029e0
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x88]
push ecx
lea ecx, [ebp - 0x7c8]
call fcn.1011c930
mov ecx, eax
call fcn.1000d7b0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x88]
call fcn.10001f50
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x884], esp
lea edx, [ebp - 0x7c8]
push edx
call fcn.1011c8e0
mov dword [ebp - 0x818], eax
mov eax, dword [ebp - 0x818]
mov dword [ebp - 0x87c], eax
mov byte [ebp - 4], 0x1c
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x880], esp
lea edx, [ebp - 0x824]
push edx
call fcn.1011c8e0
mov dword [ebp - 0x7b4], eax
mov eax, dword [ebp - 0x7b4]
mov dword [ebp - 0x888], eax
mov byte [ebp - 4], 0x1d
call fcn.1003ec30
mov byte [ebp - 4], 0x1a
mov ecx, eax
call fcn.10121a50
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x70]
call fcn.10001f50
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x28]
call fcn.10001f50
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x7c8]
call fcn.10113b70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x824]
call fcn.10113b70
jmp 0x1011398c
mov byte [ebp - 0x633], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.10001f50
mov al, byte [ebp - 0x633]
jmp 0x101139a8
mov byte [ebp - 0x635], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.10001f50
mov al, byte [ebp - 0x635]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101506bb
mov esp, ebp
pop ebp
ret