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

Disassembly:
mov eax, 0x2dd8
call fcn.10057850
mov eax, dword [0x100d92b4]
xor eax, esp
mov dword [esp + 0x2dd4], eax
push ebx
push ebp
mov ebp, dword [esp + 0x2de4]
lea eax, [esp + 0x78]
push esi
mov esi, dword [esp + 0x2dec]
push edi
push 0xc8
push 0
push eax
mov dword [esp + 0x34], ebp
call fcn.10058d80
push 0x48
lea eax, [esp + 0x48]
push 0
push eax
call fcn.10058d80
mov ebx, dword [ebp + 0x20c]
mov edi, dword [esp + 0x2e0c]
and ebx, 1
push edi
push esi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], ebx
call fcn.1003f170
add esp, 0x20
cmp eax, 0x16e
jle 0x10013ecd
movups xmm0, xmmword [str.474:_Input_data_too_long]
movups xmmword [ebp + 0x7638], xmm0
movq xmm0, qword [0x1008e9fc]
movq qword [ebp + 0x7648], xmm0
mov al, byte [0x1008ea04]
mov byte [ebp + 0x7650], al
mov eax, 5
jmp 0x10014903
cmp dword [ebp + 0x1c0], 0
je 0x10013f17
movups xmm0, xmmword [str.476:_Cannot_specify_rows_for_MicroPDF417]
movups xmmword [ebp + 0x7638], xmm0
movups xmm0, xmmword [0x1008ea18]
movups xmmword [ebp + 0x7648], xmm0
movq xmm0, qword [0x1008ea28]
movq qword [ebp + 0x7658], xmm0
mov al, byte [0x1008ea30]
mov byte [ebp + 0x7660], al
mov eax, 8
jmp 0x10014903
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x154]
push eax
push 1
push edi
push esi
push ebp
call fcn.10016e80
mov ecx, eax
add esp, 0x20
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x10014903
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
add esi, edi
mov dword [esp + 0x14], edi
cmp esi, 0x7e
jle 0x10013f8d
movups xmm0, xmmword [str.467:_Input_data_too_long]
movups xmmword [ebp + 0x7638], xmm0
movq xmm0, qword [0x1008ea44]
movq qword [ebp + 0x7648], xmm0
mov al, byte [0x1008ea4c]
mov byte [ebp + 0x7650], al
lea eax, [ecx + 5]
jmp 0x10014903
cmp dword [ebp + 0x1bc], 4
jle 0x10013fde
cmp dword [ebp + 0x208], 2
movups xmm0, xmmword [str.468:_Specified_width_out_of_range]
movups xmmword [ebp + 0x7638], xmm0
movups xmm0, xmmword [0x1008ea60]
movups xmmword [ebp + 0x7648], xmm0
mov ax, word [0x1008ea70]
mov word [ebp + 0x7658], ax
je 0x10014295
mov dword [ebp + 0x1bc], 0
mov dword [esp + 0x10], 2
test ebx, ebx
je 0x10014026
push edi
push str._nEncoded_Data_Stream___d_:_n
call fcn.10007430
add esp, 8
xor ebx, ebx
test edi, edi
jle 0x10014019
nop word [eax + eax]
push dword [esp + ebx*4 + 0x148]
push str._3d
call fcn.10007430
inc ebx
add esp, 8
cmp ebx, edi
jl 0x10014000
push 0x100864bc
call fcn.10007430
add esp, 4
mov eax, dword [ebp + 0x1bc]
lea ecx, [ebp + 0x208]
xor ebx, ebx
cmp eax, 1
jne 0x10014084
cmp esi, 0x14
jle 0x10014084
movups xmm0, xmmword [str.469:_Specified_symbol_size_too_small_for_data]
cmp dword [ebp + 0x208], 2
movups xmmword [ebp + 0x7638], xmm0
movups xmm0, xmmword [0x1008eaa8]
movups xmmword [ebp + 0x7648], xmm0
movq xmm0, qword [0x1008eab8]
movq qword [ebp + 0x7658], xmm0
mov eax, dword [0x1008eac0]
mov dword [ebp + 0x7660], eax
mov ax, word [0x1008eac4]
jmp 0x100140d6
cmp eax, 2
jne 0x10014236
cmp esi, 0x25
jle 0x10014236
movups xmm0, xmmword [str.470:_Specified_symbol_size_too_small_for_data]
cmp dword [ecx], 2
movups xmmword [ebp + 0x7638], xmm0
movups xmm0, xmmword [0x1008ead8]
movups xmmword [ebp + 0x7648], xmm0
movq xmm0, qword [0x1008eae8]
movq qword [ebp + 0x7658], xmm0
mov eax, dword [0x1008eaf0]
mov dword [ebp + 0x7660], eax
mov ax, word [0x1008eaf4]
mov word [ebp + 0x7664], ax
je 0x10014295
mov dword [ebp + 0x1bc], ebx
mov dword [esp + 0x10], 2
mov ecx, 0x1008e491
mov edx, 0x1b
sub edx, ecx
nop dword [eax]
movsx eax, byte [ecx + 2]
cmp eax, esi
jl 0x10014139
movsx eax, byte [ecx + 1]
movsx ebx, byte [ecx + 0x1e]
cmp eax, esi
jl 0x10014139
movsx eax, byte [ecx]
movsx ebx, byte [ecx + 0x1d]
cmp eax, esi
jl 0x10014139
movsx eax, byte [ecx - 1]
movsx ebx, byte [ecx + 0x1c]
cmp eax, esi
jl 0x10014139
movsx ebx, byte [ecx + 0x1b]
sub ecx, 4
lea eax, [edx + ecx]
test eax, eax
jns 0x10014100
movzx eax, word [ebx*2 + 0x1008e106]
mov dword [esp + 0x20], ebx
dec ebx
mov dword [ebp + 0x1bc], eax
mov dword [esp + 0x34], ebx
movzx ecx, word [ebx*2 + 0x1008e14c]
mov dword [ebp + 0x290], ecx
movzx edx, word [ebx*2 + 0x1008e190]
imul ecx, eax
movzx eax, word [ebx*2 + 0x1008e1d4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x30], eax
sub ecx, edx
mov esi, ecx
mov dword [esp + 0x2c], ecx
sub esi, edi
sub esi, dword [esp + 0x1c]
cmp dword [esp + 0x24], 0
je 0x100141d6
push str._nChoose_symbol_size:_n
call fcn.10007430
push dword [esp + 0x24]
push dword [ebp + 0x290]
push dword [ebp + 0x1bc]
push str._d_columns_x__d_rows__variant__d_n
call fcn.10007430
push dword [esp + 0x2c]
push esi
push dword [esp + 0x48]
push str._d_data_codewords__including__d_pads____d_ecc_codewords_n
call fcn.10007430
push 0x100864bc
call fcn.10007430
mov edx, dword [esp + 0x40]
add esp, 0x28
test esi, esi
jle 0x100141f7
lea eax, [esp + 0x148]
mov ecx, esi
lea edi, [eax + edi*4]
mov eax, 0x384
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x14]
add edi, esi
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x10014217
lea ecx, [esp + 0x148]
lea edi, [ecx + edi*4]
mov ecx, eax
lea esi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add edi, eax
lea esi, [edx - 1]
mov ecx, 0x3a1
mov dword [esp + 0x14], ecx
test edi, edi
jle 0x10014540
mov ebx, dword [esp + 0x18]
xor ebp, ebp
jmp 0x100144c5
mov edx, dword [esp + 0x10]
cmp eax, 3
jne 0x10014327
cmp esi, 0x52
jle 0x1001429f
cmp dword [ecx], 2
movups xmm0, xmmword [str.471:_Specified_symbol_size_too_small_for_data]
movups xmmword [ebp + 0x7638], xmm0
movups xmm0, xmmword [0x1008eb08]
movups xmmword [ebp + 0x7648], xmm0
movq xmm0, qword [0x1008eb18]
movq qword [ebp + 0x7658], xmm0
mov eax, dword [0x1008eb20]
mov dword [ebp + 0x7660], eax
mov ax, word [0x1008eb24]
mov word [ebp + 0x7664], ax
jne 0x100140e3
mov eax, 8
jmp 0x10014903
cmp esi, 6
jg 0x100142ae
mov ebx, 0xe
jmp 0x10014139
cmp esi, 0xa
jg 0x100142bd
mov ebx, 0xf
jmp 0x10014139
cmp esi, 0xe
jg 0x100142cc
mov ebx, 0x10
jmp 0x10014139
cmp esi, 0x12
jg 0x100142db
mov ebx, 0x11
jmp 0x10014139
cmp esi, 0x18
jg 0x100142ea
mov ebx, 0x12
jmp 0x10014139
cmp esi, 0x22
jg 0x100142f9
mov ebx, 0x13
jmp 0x10014139
cmp esi, 0x2e
jg 0x10014308
mov ebx, 0x14
jmp 0x10014139
cmp esi, 0x3a
jg 0x10014317
mov ebx, 0x15
jmp 0x10014139
xor ebx, ebx
cmp esi, 0x46
setg bl
add ebx, 0x16
jmp 0x10014139
mov ecx, edx
mov dword [esp + 0x10], ecx
cmp eax, 1
jne 0x1001438f
cmp esi, 4
jg 0x10014342
mov ebx, eax
mov dword [esp + 0x10], edx
jmp 0x10014139
cmp esi, 7
jg 0x10014355
mov ebx, 2
mov dword [esp + 0x10], edx
jmp 0x10014139
cmp esi, 0xa
jg 0x10014368
mov ebx, 3
mov dword [esp + 0x10], edx
jmp 0x10014139
cmp esi, 0xc
jg 0x1001437b
mov ebx, 4
mov dword [esp + 0x10], edx
jmp 0x10014139
xor ebx, ebx
mov dword [esp + 0x10], edx
cmp esi, 0x10
setg bl
add ebx, 5
jmp 0x10014139
cmp eax, 2
jne 0x100143ed
cmp esi, 8
jg 0x100143a1
lea ebx, [eax + 5]
jmp 0x10014139
cmp esi, 0xd
jg 0x100143b0
mov ebx, 8
jmp 0x10014139
cmp esi, 0x13
jg 0x100143bf
mov ebx, 9
jmp 0x10014139
cmp esi, 0x18
jg 0x100143ce
mov ebx, 0xa
jmp 0x10014139
cmp esi, 0x1d
jg 0x100143dd
mov ebx, 0xb
jmp 0x10014139
xor ebx, ebx
cmp esi, 0x21
setg bl
add ebx, 0xc
jmp 0x10014139
mov dword [esp + 0x10], ecx
cmp eax, 4
jne 0x100140f1
cmp esi, 8
jg 0x1001440b
lea ebx, [eax + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x10014139
cmp esi, 0xc
jg 0x1001441e
mov ebx, 0x19
mov dword [esp + 0x10], ecx
jmp 0x10014139
cmp esi, 0x12
jg 0x10014431
mov ebx, 0x1a
mov dword [esp + 0x10], ecx
jmp 0x10014139
cmp esi, 0x18
jg 0x10014444
mov ebx, 0x1b
mov dword [esp + 0x10], ecx
jmp 0x10014139
cmp esi, 0x1e
jg 0x10014457
mov ebx, 0x1c
mov dword [esp + 0x10], ecx
jmp 0x10014139
cmp esi, 0x27
jg 0x1001446a
mov ebx, 0x1d
mov dword [esp + 0x10], ecx
jmp 0x10014139
cmp esi, 0x36
jg 0x1001447d
mov ebx, 0x1e
mov dword [esp + 0x10], ecx
jmp 0x10014139
cmp esi, 0x48
jg 0x10014490
mov ebx, 0x1f
mov dword [esp + 0x10], ecx
jmp 0x10014139
cmp esi, 0x5a
jg 0x100144a3
mov ebx, 0x20
mov dword [esp + 0x10], ecx
jmp 0x10014139
xor ebx, ebx
mov dword [esp + 0x10], ecx
cmp esi, 0x6c
setg bl
add ebx, 0x21
jmp 0x10014139
mov ecx, 0x3a1
mov eax, dword [esp + ebp*4 + 0x148]
add eax, dword [esp + ebx*4 + 0x7c]
cdq
idiv ecx
mov ecx, esi
mov dword [esp + 0x20], edx
test ecx, ecx
js 0x1001452f
nop dword [eax]
mov eax, dword [esp + 0x30]
add eax, ecx
movzx eax, word [eax*2 + 0x1008de58]
imul eax, edx
cdq
idiv dword [esp + 0x14]
test ecx, ecx
je 0x1001451c
mov eax, dword [esp + ecx*4 + 0x7c]
sub eax, edx
add eax, 0x3a1
cdq
idiv dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x80], edx
sub ecx, 1
js 0x1001452f
mov edx, dword [esp + 0x20]
jmp 0x100144e0
mov eax, 0x3a1
sub eax, edx
cdq
idiv dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x80], edx
inc ebp
cmp ebp, edi
jl 0x100144c0
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
xor ecx, ecx
test edx, edx
je 0x10014573
mov eax, dword [esp + 0x18]
mov ebp, 0x3a1
nop
mov edx, dword [esp + ecx*4 + 0x80]
test edx, edx
je 0x1001456a
mov eax, ebp
sub eax, edx
mov dword [esp + ecx*4 + 0x80], eax
mov eax, dword [esp + 0x18]
inc ecx
cmp ecx, eax
jl 0x10014550
mov ebp, dword [esp + 0x28]
test esi, esi
js 0x10014594
nop word [eax + eax]
mov eax, dword [esp + esi*4 + 0x80]
mov dword [esp + edi*4 + 0x148], eax
inc edi
sub esi, 1
jns 0x10014580
cmp dword [esp + 0x24], 0
je 0x100145d6
push edi
push str.Encoded_Data_Stream_with_ECC___d_:_n
call fcn.10007430
add esp, 8
xor esi, esi
test edi, edi
jle 0x100145c9
nop
push dword [esp + esi*4 + 0x148]
push str._3d
call fcn.10007430
inc esi
add esp, 8
cmp esi, edi
jl 0x100145b0
push 0x100864bc
call fcn.10007430
add esp, 4
movsx eax, byte [ebx + 0x1008e218]
movsx ecx, byte [ebx + 0x1008e27e]
mov dword [esp + 0x2c], eax
movsx eax, byte [ebx + 0x1008e23a]
mov dword [esp + 0x1c], eax
movsx eax, byte [ebx + 0x1008e25c]
mov dword [esp + 0x28], eax
mov eax, 0x55555556
imul ecx
mov eax, dword [esp + 0x24]
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [esp + 0x20], esi
test eax, eax
je 0x10014629
push str._nInternal_row_representation:_n
call fcn.10007430
mov eax, dword [esp + 0x28]
add esp, 4
xor edx, edx
mov dword [esp + 0x14], edx
cmp dword [ebp + 0x290], edx
jle 0x100148a7
mov dword [esp + 0x18], edx
nop
test eax, eax
je 0x10014656
push edx
push str.row__d:
call fcn.10007430
mov edx, dword [esp + 0x1c]
add esp, 8
push 0
lea eax, [esp + 0x2ba4]
imul edi, esi, 0x3a1
mov esi, dword [ebp + 0x1bc]
push eax
mov eax, dword [esp + 0x34]
push 0xa
imul esi, edx
movzx eax, word [eax*2 + 0x1008e29e]
push eax
call fcn.1003e9e0
push eax
lea eax, [esp + 0x2bb4]
push eax
mov eax, dword [esp + esi*4 + 0x160]
add eax, edi
push 0x10
movzx eax, word [eax*2 + 0x1008c890]
push eax
call fcn.1003e9e0
mov ecx, dword [ebp + 0x1bc]
add esp, 0x20
mov byte [esp + eax + 0x2ba0], 0x30
inc eax
cmp ecx, 2
jl 0x100147a8
mov ebx, dword [esp + 0x1c]
cmp ecx, 3
jne 0x100146e5
push eax
lea eax, [esp + 0x2ba4]
push eax
movzx eax, word [ebx*2 + 0x1008e306]
push 0xa
push eax
call fcn.1003e9e0
add esp, 0x10
push eax
lea eax, [esp + 0x2ba4]
push eax
mov eax, dword [esp + esi*4 + 0x154]
add eax, edi
push 0x10
movzx eax, word [eax*2 + 0x1008c890]
push eax
call fcn.1003e9e0
mov ecx, dword [ebp + 0x1bc]
add esp, 0x10
mov byte [esp + eax + 0x2ba0], 0x30
inc eax
cmp ecx, 3
jl 0x100147a8
cmp ecx, 4
jne 0x10014743
push eax
lea eax, [esp + 0x2ba4]
push eax
movzx eax, word [ebx*2 + 0x1008e306]
push 0xa
push eax
call fcn.1003e9e0
add esp, 0x10
push eax
lea eax, [esp + 0x2ba4]
push eax
mov eax, dword [esp + esi*4 + 0x158]
add eax, edi
push 0x10
movzx eax, word [eax*2 + 0x1008c890]
push eax
call fcn.1003e9e0
add esp, 0x10
mov byte [esp + eax + 0x2ba0], 0x30
inc eax
cmp dword [ebp + 0x1bc], 4
jne 0x100147a8
push eax
lea eax, [esp + 0x2ba4]
push eax
mov eax, dword [esp + esi*4 + 0x15c]
add eax, edi
push 0x10
movzx eax, word [eax*2 + 0x1008c890]
push eax
call fcn.1003e9e0
add esp, 0x10
mov byte [esp + eax + 0x2ba0], 0x30
inc eax
push eax
lea eax, [esp + 0x2ba4]
push eax
mov eax, dword [esp + 0x30]
push 0xa
movzx eax, word [eax*2 + 0x1008e29e]
push eax
call fcn.1003e9e0
mov ebx, eax
add esp, 0x10
mov byte [esp + ebx + 0x2ba0], 0x31
inc ebx
cmp dword [esp + 0x24], 0
je 0x100147f0
lea eax, [esp + 0x2ba0]
push eax
push ebx
push str._.s_n
call fcn.10007430
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x1001482d
mov edi, dword [esp + 0x18]
nop word [eax + eax]
cmp byte [esp + esi + 0x2ba0], 0x31
jne 0x10014828
mov edx, esi
mov eax, esi
shr edx, 3
and eax, 7
add edx, edi
movzx ecx, byte [edx + ebp + 0x298]
bts ecx, eax
mov byte [edx + ebp + 0x298], cl
inc esi
cmp esi, ebx
jl 0x10014800
mov esi, dword [esp + 0x2c]
mov ecx, 1
add dword [esp + 0x18], 0x90
mov edx, dword [esp + 0x14]
inc edx
cmp esi, 0x34
lea eax, [esi + 1]
mov dword [esp + 0x14], edx
mov esi, dword [esp + 0x1c]
cmovne ecx, eax
cmp esi, 0x34
mov dword [esp + 0x2c], ecx
mov ecx, 1
lea eax, [esi + 1]
mov esi, dword [esp + 0x28]
cmovne ecx, eax
cmp esi, 0x34
mov dword [esp + 0x1c], ecx
mov ecx, 1
lea eax, [esi + 1]
mov esi, dword [esp + 0x20]
cmovne ecx, eax
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp esi, 2
lea eax, [esi + 1]
cmovne ecx, eax
mov eax, dword [esp + 0x24]
mov esi, ecx
mov dword [esp + 0x20], esi
cmp edx, dword [ebp + 0x290]
jl 0x10014640
jmp 0x100148a9
xor ebx, ebx
cmp dword [esp + 0x10], 0
mov dword [ebp + 0x294], ebx
je 0x100148de
push 1
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x40000000
push ebp
call fcn.1003f1b0
mov eax, dword [esp + 0x24]
jmp 0x10014900
push 0
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x40000000
push ebp
call fcn.1003f1b0
add esp, 0x14
mov ecx, dword [esp + 0x2de4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10057052
add esp, 0x2dd8
ret