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

Disassembly:
push 0xffffffffffffffff
push 0x343a6577
mov eax, dword fs:[0]
push eax
sub esp, 0xac
push ebx
push ebp
push esi
push edi
mov eax, dword [0x34234fcc]
xor eax, esp
push eax
lea eax, [esp + 0xc0]
mov dword fs:[0], eax
mov ebp, ecx
call fcn.3420e383
cmp dword [ebp + 0x100c], 0
mov edi, dword [esp + 0xdc]
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd0]
je 0x3420e4f9
test byte [edi], 8
jne 0x3420e4dd
call fcn.341f37b8
cmp dword [ebp + 0x1030], 0
mov ecx, dword [esp + 0xd4]
je 0x3420e524
cmp ecx, dword [ebp + 0x1010]
ja 0x3420e524
cmp dword [ebp + 0x1008], 0
je 0x342251fa
mov ecx, dword [esp + 0xc0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret 0x10
cmp dword [esi + 0x100c], 0
jne 0x3420e50d
push edi
push 0
push ebx
mov ecx, esi
call fcn.342073c9
test byte [edi], 8
jne 0x3427a02e
mov eax, dword [esi + 0x1010]
mov dword [ebp + 0x1010], eax
jmp 0x3420e4ae
cmp dword [esi + 0x100c], 0
je 0x342b2ad0
test byte [edi], 8
jne 0x3420e5b0
push edi
push ebx
mov ecx, esi
call fcn.3420e5d6
test byte [edi], 8
jne 0x3420e5b0
mov esi, dword [esp + 0xd4]
xor edi, edi
cmp esi, 0xee8
ja 0x342600b0
cmp dword [ebp + 0x1008], edi
je 0x342600b0
mov eax, dword [ebp + 0x1010]
cmp eax, 0xee8
ja 0x342600b0
cmp dword [ebp + 0x1030], edi
jne 0x342b2ae0
mov ecx, dword [esp + 0xdc]
push ecx
mov ecx, dword [esp + 0xdc]
push eax
lea edx, [ebp + 4]
push edx
mov eax, ebx
push eax
call fcn.3420e5e7
cmp esi, eax
ja 0x342b2b1a
mov dword [ebp + 0x1008], 1
mov eax, dword [esp + 0xdc]
test byte [eax], 8
jne 0x3420e4dd
mov eax, 1
mov dword [ebp + 0x100c], eax
mov dword [ebp + 0x1030], eax
jmp 0x3420e4dd
mov eax, 0x80c121b3
mul ecx
mov ecx, dword [ebp + 0x1018]
shr edx, 0xb
test ecx, ecx
je 0x3420e524
push edx
call fcn.3421eaec
test eax, eax
jne 0x3420e4dd
jmp 0x3420e524
mov eax, 0xff
mov ecx, 8
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edi
mov dword [esp + 0xc8], 1
mov dword [esp + 0x18], edi
cmp dword [ebp + 0x1030], edi
jne 0x34279f91
mov esi, dword [esp + 0xd8]
cmp dword [esi + 0x1008], edi
jne 0x3426032e
xor esi, esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0xdc]
mov byte [esp + 0xc8], 2
lea ecx, [ecx]
mov ecx, dword [ebp + 0x1018]
mov dword [esp + 0x20], 0
test ecx, ecx
jne 0x342b2b76
mov ecx, dword [esp + 0xd0]
push edi
lea eax, [esp + 0x3c]
push eax
push ecx
mov ebx, 1
mov ecx, ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], 0
call fcn.34224cf7
test byte [edi], 8
jne 0x3427a03e
mov dword [esp + 0x20], ebx
test byte [edi], 8
jne 0x3427a03e
mov ebx, dword [esp + 0xd8]
mov ecx, dword [ebx + 0x1018]
cmp esi, dword [ecx + 4]
jge 0x342b2bbe
push esi
call fcn.341f60cf
mov eax, dword [eax]
push edi
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, ebx
call fcn.3421af2e
test byte [edi], 8
jne 0x342601f8
mov ecx, dword [ebx + 0x1018]
cmp esi, dword [ecx + 4]
jge 0x342b2bd3
push esi
call fcn.341f60cf
mov eax, dword [eax]
lea ecx, [esp + 0x2c]
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.341faa3c
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
je 0x342601fc
mov edx, dword [eax]
mov ecx, dword [ebx + 0x1018]
push edi
lea eax, [esp + 0x28]
mov dword [esp + 0x28], edx
push eax
lea edx, [esi + 1]
push edx
call fcn.341f51a9
mov eax, dword [esp + 0x2c]
test byte [edi], 8
jne 0x3427a04a
cmp dword [esp + 0x1c], 0
je 0x342b2bed
mov ecx, dword [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x40]
call fcn.341f58ac
mov dword [esp + 0x14], eax
test eax, eax
je 0x342b2bda
test byte [edi], 8
jne 0x3427a04a
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x34260246
mov edx, dword [esp + 0x3c]
push edx
call fcn.341f5f83
test byte [edi], 8
jne 0x3427a05a
test esi, esi
jne 0x342b2c73
test byte [edi], 8
jne 0x3427a05a
mov ecx, dword [esp + 0x14]
push edi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x1018]
push esi
call fcn.341f51a9
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
lea eax, [ecx + eax - 4]
inc esi
mov dword [esp + 0x18], eax
test byte [edi], 8
jne 0x3426029d
cmp eax, dword [esp + 0xd4]
jb 0x342b2cda
mov eax, dword [esp + 0x54]
mov byte [esp + 0xc8], 1
test eax, eax
je 0x342602b7
add eax, 0x6c
or ecx, 0xffffffff
lock xadd dword [eax], ecx
test byte [edi], 8
jne 0x342602dc
mov dword [ebp + 0x1008], 0
test byte [edi], 8
jne 0x342602dc
mov edx, dword [esp + 0xd4]
cmp dword [esp + 0x18], edx
jb 0x3427a004
mov edx, dword [esp + 0xdc]
test byte [edx], 8
jne 0x342602f9
mov eax, dword [esp + 0xd4]
cmp dword [esp + 0x18], eax
jb 0x34279be9
mov eax, dword [esp + 0x38]
test eax, eax
je 0x3420e5b0
add eax, 0x6c
or edx, 0xffffffff
lock xadd dword [eax], edx
jmp 0x3420e5b0
mov eax, dword [esi + 0x1010]
mov edi, dword [esp + 0xdc]
push edi
push eax
mov eax, dword [esp + 0xd8]
lea ecx, [esi + 4]
push ecx
lea edx, [esp + 0x44]
push edx
push eax
mov ecx, ebp
call fcn.34224bc0
test byte [edi], 8
jne 0x342602dc
mov ecx, dword [esi + 0x1010]
mov dword [esp + 0x18], ecx
jmp 0x342602b7
add eax, 4
push eax
lea eax, [ebp + 4]
lea ecx, [esp + 0x3c]
push eax
test edi, edi
je 0x3427a063
call fcn.341f58ac
mov ebx, eax
test ebx, ebx
jne 0x34279d84
jmp 0x342b31a2
mov eax, 0x80c121b3
mul dword [esp + 0x18]
push 0xfec
mov esi, edx
lea eax, [ebp + 4]
push 0
shr esi, 0xb
push eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], 1
call sub.MSVCR90.dll_memset
mov ecx, dword [esp + 0xe8]
add esp, 0xc
test byte [ecx], 8
jne 0x342602f9
mov eax, esi
imul eax, eax, 0xfe8
lea edx, [esi - 1]
mov dword [esp + 0x28], edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xd4]
jae 0x342602f9
mov ecx, dword [ebp + 0x1018]
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], edi
cmp ecx, edi
je 0x34279eba
cmp esi, dword [ecx + 4]
jge 0x34279eba
push esi
call fcn.341f60cf
cmp dword [eax], edi
je 0x34279eba
mov ecx, dword [ebp + 0x1018]
cmp esi, dword [ecx + 4]
jge 0x342b3123
push esi
call fcn.341f60cf
mov ebx, dword [eax]
mov esi, dword [esp + 0xdc]
push esi
push ebx
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebp
call fcn.342250ab
test byte [esi], 8
jne 0x34279d84
mov eax, dword [esp + 0xd4]
sub eax, dword [esp + 0x18]
cmp eax, 0xfe8
jb 0x34279cc5
mov eax, 0xfe8
cmp dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
je 0x34279bb1
mov edi, dword [esp + 0x18]
sub edi, dword [esp + 0x70]
lea ecx, [esp + 0x2c]
push ecx
push ebx
lea ecx, [esp + 0x40]
call fcn.341faa3c
mov eax, dword [esp + 0x30]
lea esi, [eax - 4]
cmp esi, edi
ja 0x342b312a
mov eax, dword [esp + 0x18]
cmp eax, dword [ebp + 0x1010]
jb 0x34279d15
mov ecx, dword [esp + 0x70]
lea edx, [esi + ecx]
cmp edx, eax
jne 0x342b319b
mov eax, 0xfe8
sub eax, esi
cmp dword [esp + 0x14], eax
jb 0x34279d26
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
lea ecx, [esi + eax + 4]
push ecx
push 1
push ebx
lea ecx, [esp + 0x44]
call fcn.34210147
lea edx, [esp + 0x2c]
push edx
push ebx
lea ecx, [esp + 0x40]
call fcn.341faa3c
mov eax, dword [esp + 0x2c]
mov dword [eax], 0
test edi, edi
jne 0x34279d64
mov ecx, dword [esp + 0x14]
add esi, ecx
mov dword [esp + 0x14], esi
xor esi, esi
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
push edx
lea ecx, [esi + eax + 4]
push 0
push ecx
call sub.MSVCR90.dll_memset
add esp, 0xc
mov dword [esp + 0x20], 0
mov edi, dword [esp + 0xdc]
test byte [edi], 8
jne 0x3427a06e
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x34279da6
mov edx, dword [esp + 0x3c]
push edx
call fcn.341f5f83
test byte [edi], 8
mov esi, dword [esp + 0x1c]
jne 0x342602f9
test esi, esi
je 0x34279e74
mov ecx, dword [ebp + 0x1018]
mov edx, dword [esp + 0x28]
cmp edx, dword [ecx + 4]
jge 0x342b3213
mov eax, dword [esp + 0x28]
push eax
call fcn.341f60cf
mov edi, dword [eax]
xor eax, eax
mov ecx, 0xff
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], 8
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xdc]
push ecx
push edi
lea edx, [esp + 0x5c]
push edx
mov ecx, ebp
mov byte [esp + 0xd4], 8
call fcn.342250ab
mov eax, dword [esp + 0xdc]
test byte [eax], 8
jne 0x34279e53
lea ecx, [esp + 0x80]
push ecx
push edi
lea ecx, [esp + 0x5c]
call fcn.341faa3c
mov edx, dword [esp + 0x80]
mov dword [edx], ebx
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x34279e57
mov eax, dword [esp + 0x58]
push eax
call fcn.341f5f83
mov ecx, dword [esp + 0x54]
mov byte [esp + 0xc8], 1
test ecx, ecx
je 0x34279e6d
add ecx, 0x6c
or edx, 0xffffffff
lock xadd dword [ecx], edx
mov edi, dword [esp + 0xdc]
test byte [edi], 8
jne 0x342602f9
mov ecx, dword [ebp + 0x1018]
push edi
lea eax, [esp + 0x28]
push eax
push esi
mov dword [esp + 0x30], ebx
call fcn.341f51a9
mov ecx, dword [esp + 0x14]
add dword [esp + 0x70], 0xfe8
inc dword [esp + 0x28]
add dword [esp + 0x18], ecx
inc esi
test byte [edi], 8
mov dword [esp + 0x1c], esi
je 0x34279c39
jmp 0x342602f9
mov esi, dword [esp + 0xdc]
mov eax, dword [esp + 0xd0]
push esi
lea edx, [esp + 0x3c]
push edx
xor ebx, ebx
push eax
mov ecx, ebp
mov edi, 1
mov dword [esp + 0x2c], ebx
call fcn.34224cf7
test byte [esi], 8
jne 0x34279d84
mov dword [esp + 0x24], edi
jmp 0x34279ca5
cmp dword [ebp + 0x1008], edi
jne 0x342b2b30
mov ecx, dword [ebp + 0x1018]
mov eax, 0x80c121b3
mul esi
mov esi, edx
shr esi, 0xb
cmp ecx, edi
je 0x342b2b66
push edi
call fcn.3421eaec
test eax, eax
je 0x342b2b66
cmp esi, edi
je 0x34279fe3
mov ecx, dword [ebp + 0x1018]
cmp esi, dword [ecx + 4]
jge 0x34279fde
push esi
call fcn.341f60cf
cmp dword [eax], edi
jne 0x34279fe3
sub esi, 1
jne 0x34279fc9
mov eax, dword [ebp + 0x1010]
mov edi, dword [esp + 0xdc]
inc esi
imul esi, esi, 0xfe8
cmp eax, esi
jae 0x3427a035
mov dword [esp + 0x18], eax
jmp 0x342602c6
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xd8]
cmp eax, dword [ecx + 0x1010]
jae 0x342602dc
mov edx, eax
cmp edx, dword [ebp + 0x1010]
jae 0x342602dc
jmp 0x342b2cf2
xor eax, eax
jmp 0x3420e51c
mov dword [esp + 0x18], esi
jmp 0x342602c6
mov ebx, dword [esp + 0xd8]
jmp 0x342601a9
cmp dword [esp + 0x20], 0
jne 0x342b2c06
jmp 0x34260246
mov eax, dword [esp + 0x18]
jmp 0x3426028b
push ebx
call fcn.34210085
jmp 0x34279d84
cmp dword [esp + 0x24], 0
jne 0x342b31b5
jmp 0x34279da6
push edi
push 0
push ebx
mov ecx, esi
call fcn.342073c9
jmp 0x3420e531
cmp esi, eax
jb 0x342b2b02
cmp esi, 0x1000
ja 0x342b2b02
sub esi, eax
push esi
lea eax, [eax + ebp + 4]
push edi
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
jmp 0x3420e5b0
mov ecx, dword [esp + 0xdc]
push 1
push 0xfffffc15
call fcn.341f8dac
jmp 0x3420e4dd
sub esi, eax
push esi
lea ecx, [eax + ebp + 4]
push edi
push ecx
call sub.MSVCR90.dll_memset
add esp, 0xc
jmp 0x3420e5a6
mov edi, dword [esp + 0xdc]
mov edx, dword [ebp + 0x1010]
push edi
push edx
mov edx, dword [esp + 0xd8]
lea eax, [ebp + 4]
push eax
lea ecx, [esp + 0x44]
push ecx
push edx
mov ecx, ebp
call fcn.34224bc0
mov eax, dword [ebp + 0x1010]
mov dword [esp + 0x18], eax
jmp 0x342602c6
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0xdc]
jmp 0x342602c6
cmp esi, dword [ecx + 4]
jge 0x34260141
push esi
call fcn.341f60cf
cmp dword [eax], 0
je 0x34260141
mov ecx, dword [ebp + 0x1018]
xor eax, eax
cmp esi, dword [ecx + 4]
mov dword [esp + 0x1c], eax
jge 0x342b2ba7
push esi
call fcn.341f60cf
mov eax, dword [eax]
push edi
push eax
lea edx, [esp + 0x40]
push edx
mov ecx, ebp
mov dword [esp + 0x20], eax
call fcn.342250ab
jmp 0x34260174
push edi
xor eax, eax
push eax
lea edx, [esp + 0x5c]
push edx
mov ecx, ebx
call fcn.3421af2e
jmp 0x342601a9
xor eax, eax
jmp 0x342601c5
push 1
push 0xfffffc0c
mov ecx, edi
call fcn.341f8dac
jmp 0x3426022b
mov edx, dword [esp + 0x30]
push edx
push eax
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x44]
call fcn.34210085
jmp 0x3426022b
mov dword [esp + 0x80], 1
mov dword [esp + 0x94], 0
mov eax, dword [esp + 0x38]
mov byte [esp + 0xc8], 3
test eax, eax
je 0x342b2c31
mov eax, dword [eax + 0xc]
jmp 0x342b2c33
xor eax, eax
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [ebp + 0x1038]
push 1
push eax
call fcn.3421fe44
test dword [esp + 0x80], 0xfffffffe
mov byte [esp + 0xc8], 2
je 0x34260246
lea ecx, [esp + 0x80]
call fcn.341ffba8
jmp 0x34260246
mov ecx, dword [ebp + 0x1018]
mov edx, dword [ecx + 4]
lea eax, [esi - 1]
cmp eax, edx
jl 0x342b2c87
xor ebx, ebx
jmp 0x342b2c8f
push eax
call fcn.341f60cf
mov ebx, dword [eax]
push edi
push ebx
lea edx, [esp + 0x40]
push edx
mov ecx, ebp
call fcn.342250ab
test byte [edi], 8
jne 0x3427a05a
lea eax, [esp + 0x74]
push eax
push ebx
lea ecx, [esp + 0x40]
call fcn.341faa3c
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x34260257
mov eax, dword [esp + 0x3c]
push eax
call fcn.341f5f83
jmp 0x34260257
mov edx, dword [esp + 0xd8]
cmp eax, dword [edx + 0x1010]
jae 0x3426029d
jmp 0x3426012b
mov ecx, dword [ebp + 0x1018]
mov eax, 0x80c121b3
mul edx
mov edi, edx
shr edi, 0xb
push edi
mov dword [esp + 0x2c], 1
call fcn.3421eaec
mov esi, dword [esp + 0xdc]
test eax, eax
jne 0x342b2d33
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd8]
push esi
push edi
push eax
call fcn.34224824
test byte [esi], 8
jne 0x342602dc
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0xd4]
jae 0x342602dc
mov ecx, dword [esp + 0xd8]
cmp eax, dword [ecx + 0x1010]
jae 0x342602dc
xor ebx, ebx
mov eax, 0xff
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], 8
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ebx
mov ecx, dword [ebp + 0x1018]
mov byte [esp + 0xc8], 4
cmp ecx, ebx
je 0x342b2de0
cmp edi, dword [ecx + 4]
jge 0x342b2de0
push edi
call fcn.341f60cf
cmp dword [eax], ebx
je 0x342b2de0
mov ecx, dword [ebp + 0x1018]
push edi
mov dword [esp + 0x20], ebx
call fcn.3421eaec
push esi
mov ebx, eax
push ebx
lea edx, [esp + 0x40]
push edx
mov ecx, ebp
call fcn.342250ab
jmp 0x342b2e14
mov ecx, dword [esp + 0xd0]
push esi
lea eax, [esp + 0x3c]
push eax
push ecx
xor ebx, ebx
mov ecx, ebp
mov dword [esp + 0x28], 1
mov dword [esp + 0x34], ebx
call fcn.34224cf7
test byte [esi], 8
jne 0x342b2fe2
mov dword [esp + 0x20], 1
test byte [esi], 8
jne 0x342b2fe2
mov edx, dword [esp + 0xd8]
mov ecx, dword [edx + 0x1018]
cmp edi, dword [ecx + 4]
jl 0x342b2e33
xor eax, eax
jmp 0x342b2e3b
push edi
call fcn.341f60cf
mov eax, dword [eax]
mov ecx, dword [esp + 0xd8]
push esi
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.3421af2e
test byte [esi], 8
jne 0x342b2fe2
mov ecx, dword [esp + 0xd8]
mov ecx, dword [ecx + 0x1018]
cmp edi, dword [ecx + 4]
jl 0x342b2e70
xor eax, eax
jmp 0x342b2e78
push edi
call fcn.341f60cf
mov eax, dword [eax]
lea edx, [esp + 0x2c]
push edx
push eax
lea ecx, [esp + 0xa0]
call fcn.341faa3c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x342b2eac
mov ecx, dword [esp + 0xd8]
mov ecx, dword [ecx + 0x1018]
push esi
push eax
lea edx, [edi + 1]
push edx
call fcn.3421ee70
test byte [esi], 8
jne 0x342b2fe2
mov eax, dword [ebp + 0x1010]
sub eax, dword [esp + 0x18]
cmp eax, 0xfe8
jb 0x342b2ecb
mov eax, 0xfe8
cmp dword [esp + 0x28], 0
mov dword [esp + 0x14], eax
je 0x342b2f51
lea eax, [esp + 0x74]
push eax
push ebx
lea ecx, [esp + 0x40]
call fcn.341faa3c
mov esi, dword [esp + 0x78]
add esi, 0xfffffffc
mov eax, 0xfe8
sub eax, esi
cmp dword [esp + 0x14], eax
jb 0x342b2efd
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
lea edx, [esi + ecx + 4]
push edx
push 1
push ebx
lea ecx, [esp + 0x44]
call fcn.34210147
lea eax, [esp + 0x74]
push eax
push ebx
lea ecx, [esp + 0x40]
call fcn.341faa3c
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x78]
lea eax, [edx + esi + 4]
push eax
lea edx, [esi + ecx + 4]
push edx
call sub.MSVCR90.dll_memcpy
mov esi, dword [esp + 0xe8]
add esp, 0xc
mov dword [esp + 0x28], 0
jmp 0x342b2fc9
add eax, 4
cmp dword [esp + 0x1c], 0
push eax
je 0x342b2f80
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0x40]
call fcn.341f58ac
mov ebx, eax
test ebx, ebx
jne 0x342b2f8f
push 1
push 0xfffffc0c
mov ecx, esi
call fcn.341f8dac
jmp 0x342b2f8f
mov ecx, dword [esp + 0x30]
push ecx
push ebx
lea ecx, [esp + 0x44]
call fcn.34210085
test byte [esi], 8
jne 0x342b2fe2
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
cmp edx, dword [eax + 0x1010]
jb 0x342b2fc9
lea ecx, [esp + 0xb4]
push ecx
push ebx
lea ecx, [esp + 0x40]
call fcn.341faa3c
mov edx, dword [esp + 0xb4]
mov dword [edx], 0
test byte [esi], 8
jne 0x342b2fe2
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x342b3038
mov eax, dword [esp + 0x3c]
push eax
call fcn.341f5f83
jmp 0x342b3038
cmp dword [esp + 0x20], 0
je 0x342b3038
mov dword [esp + 0x54], 1
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x38]
mov byte [esp + 0xc8], 5
test eax, eax
je 0x342b300e
mov eax, dword [eax + 0xc]
jmp 0x342b3010
xor eax, eax
lea ecx, [esp + 0x54]
push ecx
push eax
mov ecx, ebp
call fcn.3432f7e1
test dword [esp + 0x54], 0xfffffffe
mov byte [esp + 0xc8], 4
je 0x342b3038
lea ecx, [esp + 0x54]
call fcn.341ffba8
test byte [esi], 8
jne 0x342b30cd
test edi, edi
je 0x342b30cd
mov ecx, dword [ebp + 0x1018]
lea edx, [edi - 1]
push edx
call fcn.3421eaec
lea ecx, [esp + 0x54]
mov esi, eax
call fcn.34223833
mov eax, dword [esp + 0xdc]
push eax
push esi
lea ecx, [esp + 0x5c]
push ecx
mov ecx, ebp
mov byte [esp + 0xd4], 6
call fcn.342250ab
mov edx, dword [esp + 0xdc]
test byte [edx], 8
jne 0x342b30b3
lea eax, [esp + 0x80]
push eax
push esi
lea ecx, [esp + 0x5c]
call fcn.341faa3c
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x54]
mov dword [ecx], ebx
push edx
mov ecx, ebp
call fcn.341f66ba
mov eax, dword [esp + 0x54]
mov byte [esp + 0xc8], 4
test eax, eax
je 0x342b30cd
add eax, 0x6c
or ecx, 0xffffffff
lock xadd dword [eax], ecx
mov esi, dword [esp + 0xdc]
test byte [esi], 8
jne 0x342b30f8
mov ecx, dword [ebp + 0x1018]
push esi
lea edx, [esp + 0x28]
push edx
push edi
mov dword [esp + 0x30], ebx
call fcn.341f51a9
mov eax, dword [esp + 0x14]
inc edi
add dword [esp + 0x18], eax
mov eax, dword [esp + 0x98]
mov byte [esp + 0xc8], 1
test eax, eax
je 0x342b3115
add eax, 0x6c
or ecx, 0xffffffff
lock xadd dword [eax], ecx
test byte [esi], 8
jne 0x342602dc
jmp 0x342b2d3c
xor ebx, ebx
jmp 0x34279c90
test edi, edi
je 0x34279cfa
sub esi, edi
cmp dword [esp + 0x14], esi
jb 0x342b313e
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0x2c]
push eax
push edx
lea esi, [ebp + 4]
push esi
call sub.MSVCR90.dll_memcpy
mov eax, dword [esp + 0x20]
push eax
lea ecx, [edi + ebp + 8]
push 0
push ecx
call sub.MSVCR90.dll_memset
mov edx, dword [esp + 0x2c]
add esp, 0x18
lea eax, [edi + edx + 4]
push eax
push esi
push ebx
lea ecx, [esp + 0x44]
mov dword [esi], 0
call fcn.34210085
test eax, eax
jne 0x34279d84
mov ecx, dword [esp + 0xdc]
push 1
push 0xfffffc0c
call fcn.341f8dac
jmp 0x34279d84
xor esi, esi
jmp 0x34279d15
push 1
push 0xfffffc0c
mov ecx, esi
call fcn.341f8dac
jmp 0x34279d84
mov dword [esp + 0x54], 1
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x38]
mov byte [esp + 0xc8], 7
test eax, eax
je 0x342b31da
mov eax, dword [eax + 0xc]
jmp 0x342b31dc
xor eax, eax
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [ebp + 0x1038]
push 1
push eax
call fcn.3421fe44
test dword [esp + 0x54], 0xfffffffe
mov byte [esp + 0xc8], 1
je 0x34279da6
lea ecx, [esp + 0x54]
call fcn.341ffba8
jmp 0x34279da6
xor edi, edi
jmp 0x34279dda