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

Disassembly:
sub esp, 0x11c
mov ecx, dword [esp + 0x124]
push ebx
xor ebx, ebx
mov eax, ecx
push ebp
and eax, 0x30060619
push esi
or eax, 0x46500044
or ecx, 0xcff9f9e6
xor esi, esi
push edi
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xe0], 0x997943ac
mov dword [esp + 0x10], 0x6b23439f
mov dword [esp + 0xcc], 0x2f4f7262
mov dword [esp + 0xd0], 0xa3478052
mov dword [esp + 0xdc], 0xe304e2b3
mov dword [esp + 0x8c], 0xed044047
sub ecx, eax
mov edi, dword [0x10040004]
mov edi, edi
add ecx, 0x76560669
cmp ecx, 0x30
ja case.default.0x1000369f
jmp dword [ecx*4 + 0x100048cc]
mov eax, dword [esp + 0x104]
lea edi, [eax + eax + 0x611bbd56]
and edi, 0xe233eda0
sub edi, eax
imul edi, edi, 0x651019e9
add edi, 0xbbc6079
mov eax, edi
imul eax, eax, 0x9cdb1a7
mov esi, 0x46d3c274
sub esi, eax
add eax, 0xb92c3d8c
or esi, eax
mov eax, dword [esp + 0xc4]
add eax, 0xad098494
cdq
mov ecx, 0x7fffffff
idiv ecx
mov ebx, dword [esp + 0x44]
xor dword [esp + 0x98], 0x31c6d5b6
xor dword [esp + 0x3c], 0x96d46e4
lea ecx, [ebx + 0x1adf7519]
mov eax, 0x40000001
shr esi, 0x1f
mov dword [0x10040004], edi
mov dword [esp + 0xc4], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebp, ecx
lea ecx, [ebx + 0x1adf750f]
xor ebx, ebx
test esi, esi
sete bl
mov eax, 0x40000001
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
xor edx, edx
imul ecx, ebx
test ebx, ebx
sete dl
imul edx, ebp
add ecx, edx
xor ebx, ebx
jmp 0x10003690
call fcn.10006d90
mov eax, dword [section..data]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov eax, dword [esp + 0x60]
add eax, 0xf101c937
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x70]
add eax, 0xb48ca639
mov ebp, dword [esp + 0x80]
xor dword [esp + 0x68], 0x1a9233dd
mov dword [esp + 0x60], edx
cdq
idiv ecx
lea ecx, [ebp + 0x54c8dbf1]
mov eax, 0x40000001
mov dword [esp + 0x70], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebx, ecx
lea ecx, [ebp + 0x54c8dbf5]
xor edx, edx
test edi, edi
sete dl
mov dword [esp + 0x14], edi
mov eax, 0x40000001
mov edi, edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
xor edx, edx
imul ecx, edi
test edi, edi
sete dl
imul edx, ebx
add ecx, edx
xor ebx, ebx
jmp 0x10003688
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xfc]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0xe4]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0x20], edx
mov dword [eax + 4], esi
xor ecx, 0xa453b877
jmp 0x10003690
mov ecx, dword [esp + 0x3c]
xor ecx, 0x9c29aff5
jmp 0x10003690
mov ecx, dword [esp + 0xb0]
add ecx, 0x32e46df
mov eax, 0xbfffffff
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
add ecx, eax
jmp 0x10003690
mov ecx, dword [esp + 0xac]
xor ecx, 0x724199fd
jmp 0x10003690
mov ecx, dword [esp + 0x48]
xor ecx, 0x1f5db7bf
jmp 0x10003690
mov ecx, dword [esp + 0xb8]
add ecx, 0x26248c37
jmp 0x10003876
mov ecx, dword [esp + 0x74]
xor ecx, 0x270395b5
jmp 0x10003690
mov ecx, dword [section..data]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov eax, dword [esp + 0x5c]
add eax, 0xba6a2a5e
cdq
mov ecx, 0x7fffffff
idiv ecx
mov ebp, dword [esp + 0xc0]
xor dword [esp + 0x90], 0x542b71f0
xor dword [esp + 0x38], 0x7556d2de
lea ecx, [ebp - 0x224c408e]
mov eax, 0x40000001
mov dword [esp + 0x5c], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebx, ecx
lea ecx, [ebp - 0x224c40a6]
jmp 0x100037e4
mov eax, dword [esp + 0x138]
imul edi, edi, 0x9cdb1a7
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x130]
push eax
push ecx
push edx
sub edi, 0x46d3c274
call edi
mov ecx, eax
imul ecx, ecx, 0x1d93147d
mov eax, 0x88b6581c
sub eax, ecx
mov ecx, dword [esp + 0xa8]
add ecx, 0xefa9bd8a
mov dword [esp + 0x10], eax
mov eax, 0xbfffffff
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
add ecx, eax
jmp 0x10003688
mov eax, dword [esp + 0xd0]
add eax, 0x1947e998
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, dword [esp + 0xdc]
add eax, 0x9d79263c
xor dword [esp + 0xcc], 0xdc7cda8f
mov ecx, dword [esp + 0x134]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x64], 0xf9877262
mov ecx, 0x89a9f9bc
mov dword [esp + 0x88], 0x6de9dae1
mov dword [esp + 0x30], 0xfaecf746
mov dword [esp + 0x20], 0xe2421fa5
mov dword [esp + 0x1c], 0xf70e7364
mov dword [esp + 0xd0], edx
cdq
idiv ebp
mov eax, dword [esp + 0x8c]
add eax, 0x1a287380
mov dword [esp + 0xdc], edx
cdq
idiv ebp
mov dword [esp + 0x8c], edx
jmp 0x10003690
mov eax, dword [0x100411d0]
mov edx, dword [esp + 0x130]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x100], eax
mov eax, dword [section..data]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xbc]
add eax, 0x2969959c
mov dword [esp + 0xfc], edx
mov edx, dword [0x100411d4]
mov dword [esp + 0xf0], edx
cdq
mov dword [esp + 0xe8], ecx
lea ecx, [esp + 0x108]
mov dword [esp + 0xd4], ecx
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0xb4]
add eax, 0xccf15cfa
xor dword [esp + 0x94], 0x1147b80d
xor dword [esp + 0xc8], 0x52855d44
mov esi, dword [esp + 0x10]
mov dword [esp + 0xf4], 0x10000000
mov dword [esp + 0xec], edi
mov dword [esp + 0x54], 0x93a4cb9
mov dword [esp + 0x4c], 0x622a890a
mov dword [esp + 0x44], 0x46244a9e
mov dword [esp + 0xbc], edx
cdq
idiv ecx
mov eax, dword [esp + 0x34]
add eax, 0xdf106b1b
mov dword [esp + 0xb4], edx
cdq
idiv ecx
mov eax, dword [esp + 0xa4]
add eax, 0xb1cfe8d0
mov dword [esp + 0x34], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x9c]
add ecx, 0x25b4cdf6
mov dword [esp + 0xa4], edx
jmp 0x10003876
mov eax, dword [esp + 0x50]
add eax, 0x7a83320
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x60]
add eax, 0x68981888
mov edi, dword [esp + 0x78]
xor dword [esp + 0x58], 0x217e2614
xor dword [esp + 0x68], 0x1da3fc09
mov dword [esp + 0x50], edx
cdq
idiv ecx
mov eax, dword [esp + 0x70]
add eax, 0x8034bb0
mov dword [esp + 0x60], edx
cdq
idiv ecx
mov eax, dword [esp + 0x80]
add eax, 0x71f21b8b
mov dword [esp + 0x70], edx
cdq
idiv ecx
lea ecx, [edi + 0x2163c5e]
mov eax, 0x40000001
add edi, 0x2163c58
mov dword [esp + 0x80], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebx, ecx
call fcn.10002c60
mov ecx, eax
neg ecx
sbb ecx, ecx
mov eax, 0x40000001
imul edi
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
neg ecx
sub edi, eax
imul edi, ecx
xor edx, edx
test ecx, ecx
sete dl
imul edx, ebx
add edi, edx
mov ecx, edi
xor ebx, ebx
jmp 0x10003688
mov ecx, dword [esp + 0x84]
xor dword [esp + 0xac], 0x43410b3c
add ecx, 0x574847c0
jmp 0x10003876
mov ecx, dword [esp + 0xb4]
add ecx, 0xd13d7454
jmp 0x10003876
mov ecx, dword [esp + 0x5c]
add ecx, 0x29bc7680
jmp 0x10003876
mov ecx, dword [esp + 0x30]
add ecx, 0x3827e5b8
mov eax, 0xbfffffff
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
add ecx, eax
mov eax, dword [esp + 0xbc]
add eax, 0xa6e502f
cdq
mov ebp, 0x7fffffff
idiv ebp
mov eax, dword [esp + 0x9c]
add eax, 0x4351c8b9
xor dword [esp + 0x94], 0x379172f8
mov dword [esp + 0xc8], 0xf8b4b8d3
mov dword [esp + 0xb4], 0xb6d7acdf
mov dword [esp + 0xa4], 0x9e634ddd
mov dword [esp + 0xbc], edx
cdq
idiv ebp
mov eax, dword [esp + 0x34]
add eax, 0x4c9f7a56
mov dword [esp + 0x9c], edx
cdq
idiv ebp
mov dword [esp + 0x34], edx
jmp 0x10003690
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x100]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xe8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x94]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xf0]
mov dword [eax], edx
xor ecx, 0x4ded88cd
jmp 0x10003690
push 0x4bc
call fcn.10013117
mov ebx, eax
mov eax, dword [esp + 0xa4]
add eax, 0x6927ebfc
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0xac]
add eax, 0xb823b3db
xor dword [esp + 0x70], 0x6cedd786
xor dword [esp + 0x78], 0xd1d97bfc
add esp, 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0xa0], edx
cdq
idiv ecx
mov eax, dword [esp + 0xb0]
add eax, 0x22e343b5
mov dword [esp + 0xa8], edx
cdq
idiv ecx
mov eax, dword [esp + 0x18]
add eax, 0xbbfaa3f3
mov dword [esp + 0xb0], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x20]
add ecx, 0x1805d0e9
mov eax, 0x40000001
mov dword [esp + 0x18], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebp, ecx
mov ecx, dword [esp + 0x20]
xor edx, edx
add ecx, 0x1805d0ee
test ebx, ebx
sete dl
mov ebx, edx
jmp 0x10003747
mov eax, dword [esp + 0xd4]
push eax
call fcn.100030f0
mov eax, dword [esp + 0x50]
add eax, 0xdf801f44
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0xc8]
add eax, 0xed1467ff
xor dword [esp + 0x58], 0x8882e5e6
xor dword [esp + 0x9c], 0x511b9c23
xor dword [esp + 0x40], 0x3df1872
add esp, 4
mov dword [esp + 0x4c], edx
cdq
idiv ecx
mov eax, dword [esp + 0x44]
add eax, 0xf32a61fc
mov dword [esp + 0xc4], edx
cdq
idiv ecx
mov ecx, dword [esp + 0xa4]
add ecx, 0xe26b8b74
mov dword [esp + 0x44], edx
jmp 0x10003983
mov ecx, dword [esp + 0x58]
xor ecx, 0xbf43f6c1
jmp 0x10003690
mov ecx, dword [esp + 0x138]
imul edi, edi, 0x9cdb1a7
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x130]
push ecx
push edx
push eax
sub edi, 0x46d3c274
call edi
mov ecx, eax
imul ecx, ecx, 0x1d93147d
mov eax, 0x88b6581c
sub eax, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
xor ecx, 0x735e0c8c
jmp 0x10003688
mov eax, dword [esp + 0x40]
add eax, 0xbb7e9d19
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x84]
add eax, 0xc87a07cf
xor dword [esp + 0x48], 0x8aa66c38
xor dword [esp + 0xac], 0xf8e7af9c
xor ebx, ebx
mov dword [esp + 0x50], 0x69e9c1f8
mov dword [esp + 0x58], 0x4892eb0
mov dword [esp + 0x80], 0x3a0f5103
mov dword [esp + 0x40], edx
cdq
idiv ecx
mov eax, dword [esp + 0x2c]
add eax, 0x41fc246f
mov dword [esp + 0x84], edx
cdq
idiv ecx
mov eax, dword [esp + 0x78]
add eax, 0xbaca5a9e
mov dword [esp + 0x2c], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x24]
add ecx, 0x29108023
mov eax, 0x40000001
mov dword [esp + 0x78], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebp, ecx
mov ecx, dword [esp + 0x24]
add ecx, 0x29108001
cmp dword [esp + 0xd8], ebx
setne bl
jmp 0x10003747
mov eax, dword [section..data]
push eax
call dword [sym.imp.KERNEL32.dll_TlsFree]
push 0x10042be0
mov dword [section..data], 0xffffffff
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov ecx, dword [esp + 0x70]
add ecx, 0x85efd842
jmp 0x10003983
mov edi, dword [esp + 0x14]
push 0x4bc
push ebx
push edi
call fcn.100131e0
add esp, 0xc
lea ecx, [edi + 0xc]
mov dword [edi], ecx
mov dword [edi + 4], 0x64
mov dword [edi + 8], ebx
mov edx, dword [section..data]
push edi
push edx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, eax
imul ecx, ecx, 0x20df99cf
mov eax, 0x997943ac
sub eax, ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xe0], eax
add ecx, 0xa02e93e7
jmp 0x10003983
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], 0x88b6581c
add ecx, 0x683a05fe
jmp 0x10003876
mov ecx, dword [esp + 0xbc]
add ecx, 0x8e984d96
jmp 0x10003876
mov ecx, dword [esp + 0x10]
xor dword [esp + 0x64], 0xdf2e79af
imul ecx, ecx, 0x70e604d5
mov esi, 0x23fbf4c
sub esi, ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xf8], esi
xor ecx, 0x22a5335d
jmp 0x10003690
mov edi, dword [esp + 0x14]
push 0x4bc
push ebx
push edi
call fcn.100131e0
push edi
call fcn.10012c90
mov edx, dword [section..data]
add esp, 0x10
push ebx
push edx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, eax
imul ecx, ecx, 0x20df99cf
mov eax, 0x997943ac
sub eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xe0], eax
add ecx, 0xf44ea933
jmp 0x10003983
mov ecx, dword [esp + 0x6c]
xor ecx, 0x6680cbcc
jmp 0x10003690
mov eax, dword [esp + 0xb4]
add eax, 0x34a37b7e
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x4c]
add eax, 0xedd562c8
xor dword [esp + 0xc8], 0x87cba44b
xor dword [esp + 0x54], 0x5bdb7778
mov dword [esp + 0x98], 0xf72e0836
mov dword [esp + 0xc4], 0xa43bd2ab
mov dword [esp + 0x3c], 0x1f3208d7
mov dword [esp + 0xb4], edx
cdq
idiv ecx
mov eax, dword [esp + 0xa4]
add eax, 0x570b379d
mov dword [esp + 0x4c], edx
cdq
idiv ecx
mov eax, dword [esp + 0x44]
add eax, 0x357bd80f
mov dword [esp + 0xa4], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x34]
add ecx, 0x435e3fa0
mov dword [esp + 0x44], edx
jmp 0x10003876
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x10], 0x88b6581c
add ecx, 0x4b503a5c
jmp 0x10003876
mov ecx, dword [esp + 0x68]
xor ecx, 0xe78835ed
jmp 0x10003690
mov ecx, dword [esp + 0x138]
imul edi, edi, 0x9cdb1a7
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x130]
push ecx
push edx
push eax
sub edi, 0x46d3c274
call edi
mov ecx, eax
imul ecx, ecx, 0x1d93147d
mov eax, 0x88b6581c
sub eax, ecx
mov ecx, dword [esp + 0x40]
add ecx, 0x1ed8893e
jmp 0x1000397f
mov ecx, dword [esp + 0x4c]
add ecx, 0x5a29ee81
jmp 0x10003876
mov eax, dword [esp + 0x30]
add eax, 0x8b879c97
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0xd0]
add eax, 0x59dfd9f1
xor dword [esp + 0x64], 0xb60e1438
xor dword [esp + 0x88], 0x82ec87b9
xor dword [esp + 0xcc], 0x583f6273
xor ebx, ebx
mov dword [esp + 0xa0], 0x3fd53316
mov dword [esp + 0x6c], 0x9741ec76
mov dword [esp + 0x9c], 0xaa5e58d7
mov dword [esp + 0x18], 0x2aaad988
mov dword [esp + 0x28], 0x11005486
mov dword [esp + 0x24], 0xeebdd842
mov dword [esp + 0x30], edx
cdq
idiv ecx
mov eax, dword [esp + 0x20]
add eax, 0x81b598b1
mov dword [esp + 0xd0], edx
cdq
idiv ecx
mov eax, dword [esp + 0x8c]
add eax, 0x74552d54
mov dword [esp + 0x20], edx
cdq
idiv ecx
mov eax, dword [esp + 0x1c]
add eax, 0x38e39b39
mov dword [esp + 0x8c], edx
cdq
idiv ecx
mov ecx, dword [esp + 0xdc]
add ecx, 0x92bf0d6
mov eax, 0x40000001
mov dword [esp + 0x1c], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebp, ecx
mov ecx, dword [esp + 0xdc]
add ecx, 0x92bf0d5
cmp dword [esp + 0xd8], 1
setne bl
jmp 0x10003747
mov eax, dword [esp + 0xb8]
add eax, 0x9787bc09
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x84]
add eax, 0x9653246b
xor dword [esp + 0x7c], 0x3a02812a
xor ebx, ebx
mov dword [esp + 0x90], 0xab35653c
mov dword [esp + 0x5c], 0xdc271ccb
mov dword [esp + 0x38], 0x9d51b077
mov dword [esp + 0x40], 0x4d8a1f82
mov dword [esp + 0x48], 0x9b4bc2a8
mov dword [esp + 0xac], 0x404ec4e9
mov dword [esp + 0x78], 0x6944153d
mov dword [esp + 0xb8], edx
cdq
idiv ecx
mov eax, dword [esp + 0x28]
add eax, 0xb0a51fec
mov dword [esp + 0x84], edx
cdq
idiv ecx
mov eax, dword [esp + 0xc0]
add eax, 0x79d5f2b0
mov dword [esp + 0x28], edx
cdq
idiv ecx
mov eax, dword [esp + 0x2c]
add eax, 0x7443b604
mov dword [esp + 0xc0], edx
cdq
idiv ecx
mov eax, dword [esp + 0x24]
add eax, 0x1f3b9797
mov dword [esp + 0x2c], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0xc6f3f506
mov eax, 0x40000001
mov dword [esp + 0x24], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebp, ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0xc6f3f4f5
cmp dword [esp + 0xd8], 3
setne bl
jmp 0x10003747
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0x54]
xor ecx, 0x53ca27b0
jmp 0x10003690
mov edi, dword [esp + 0x14]
push 0x4bc
push ebx
push edi
call fcn.100131e0
push edi
call fcn.10012c90
mov edx, dword [section..data]
add esp, 0x10
push ebx
push edx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, eax
imul ecx, ecx, 0x20df99cf
mov eax, 0x997943ac
sub eax, ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xe0], eax
xor ecx, 0xfc18e48d
jmp 0x10003688
mov eax, edi
imul eax, eax, 0x9cdb1a7
sub eax, 0x698072c5
lea ecx, [eax + 0x22acb051]
mov edx, 0xdd534faf
sub edx, eax
or edx, ecx
mov ecx, eax
or eax, 0xdd534fae
and ecx, 0x22acb051
sub edx, ecx
lea esi, [edx + eax + 0x22acb052]
mov eax, dword [esp + 0xb8]
add eax, 0x14423ee5
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x5c]
add eax, 0xc95c3c1d
xor dword [esp + 0x7c], 0x8d528100
xor dword [esp + 0x90], 0x8aaf0987
xor dword [esp + 0x38], 0xba93d8d2
shr esi, 0x1f
mov dword [esp + 0xb8], edx
cdq
idiv ecx
mov eax, dword [esp + 0xc0]
add eax, 0x9187017f
mov dword [esp + 0x5c], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x28]
add ecx, 0x2323049c
mov eax, 0x40000001
mov dword [esp + 0xc0], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebp, ecx
mov ecx, dword [esp + 0x28]
add ecx, 0x2323048c
jmp 0x10003740
mov eax, edi
imul eax, eax, 0x9cdb1a7
add eax, 0x1639b4c0
lea ecx, [eax - 0x5d0d7734]
mov edx, 0x5d0d7734
sub edx, eax
or ecx, edx
mov edx, eax
or eax, 0x5d0d7733
and edx, 0xa2f288cc
sub ecx, edx
lea esi, [ecx + eax - 0x5d0d7733]
mov eax, dword [esp + 0xa8]
add eax, 0xca9f8d23
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0xb0]
add eax, 0x813308b6
xor dword [esp + 0x74], 0xe57ef307
shr esi, 0x1f
mov dword [esp + 0xa8], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x1ab05e95
mov eax, 0x40000001
mov dword [esp + 0xb0], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebp, ecx
mov ecx, dword [esp + 0x18]
xor edx, edx
add ecx, 0x1ab05e93
cmp esi, ebx
sete dl
mov ebx, edx
jmp 0x10003747
mov eax, dword [esp + 0x138]
imul edi, edi, 0x9cdb1a7
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x130]
push eax
push ecx
push edx
sub edi, 0x46d3c274
call edi
mov ecx, eax
imul ecx, ecx, 0x1d93147d
mov eax, 0x88b6581c
sub eax, ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x10], eax
xor ecx, 0x1e5ab839
jmp 0x10003688
mov ecx, dword [esp + 0x64]
xor ecx, 0x190ee658
jmp 0x10003690
mov eax, dword [esp + 0xa0]
add eax, 0x407e46c8
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x20]
add eax, 0xdac7072
xor dword [esp + 0x6c], 0x148509fd
xor ebx, ebx
mov dword [esp + 0xa8], 0x173cfb13
mov dword [esp + 0x74], 0x9a0de4d5
mov dword [esp + 0xb0], 0xe265666a
mov dword [esp + 0x7c], 0x4da7f506
mov dword [esp + 0xb8], 0xb7bb727b
mov dword [esp + 0x84], 0xd39485a2
mov dword [esp + 0xc0], 0xa099461e
mov dword [esp + 0x2c], 0x8f10bd30
mov dword [esp + 0xa0], edx
cdq
idiv ecx
mov eax, dword [esp + 0x18]
add eax, 0x88541d91
mov dword [esp + 0x20], edx
cdq
idiv ecx
mov eax, dword [esp + 0x28]
add eax, 0xa4e180a0
mov dword [esp + 0x18], edx
cdq
idiv ecx
mov eax, dword [esp + 0x1c]
add eax, 0x92c3f61d
mov dword [esp + 0x28], edx
cdq
idiv ecx
mov eax, dword [esp + 0x24]
add eax, 0x52a009cb
mov dword [esp + 0x1c], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x8c]
add ecx, 0xe28188f
mov eax, 0x40000001
mov dword [esp + 0x24], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebp, ecx
mov ecx, dword [esp + 0x8c]
add ecx, 0xe2818a2
cmp dword [esp + 0xd8], 2
setne bl
jmp 0x10003747
push 0x10042be0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov edi, eax
mov eax, dword [esp + 0x30]
add eax, 0xcb0d800e
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x9c]
add eax, 0x76450a23
mov ebp, dword [esp + 0xd0]
xor dword [esp + 0x88], 0x9e48f847
mov dword [section..data], edi
mov dword [esp + 0x94], 0xe292bb8f
mov dword [esp + 0xbc], 0xc739c656
mov dword [esp + 0x34], 0x1a9bd488
mov dword [esp + 0x30], edx
cdq
idiv ecx
lea ecx, [ebp + 0x733ab5bb]
mov eax, 0x40000001
mov dword [esp + 0x9c], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
xor edx, edx
cmp edi, 0xffffffff
setne dl
mov ebx, ecx
lea ecx, [ebp + 0x733ab5cd]
mov eax, 0x40000001
mov edi, edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
imul ecx, edi
xor edx, edx
test edi, edi
mov edi, dword [0x10040004]
sete dl
imul edx, ebx
add ecx, edx
xor ebx, ebx
jmp 0x10003690
mov ecx, dword [esp + 0x38]
xor ecx, 0xdb3d43cf
jmp 0x10003690
mov eax, edi
imul eax, eax, 0x9cdb1a7
sub eax, 0x4bc4e6ec
lea ecx, [eax + 0x4f12478]
mov edx, 0xfb0edb88
sub edx, eax
or ecx, edx
mov edx, eax
or eax, 0xfb0edb87
and edx, 0x4f12478
sub ecx, edx
lea esi, [ecx + eax + 0x4f12479]
mov eax, dword [esp + 0x40]
add eax, 0x61c8b3cb
cdq
mov ecx, 0x7fffffff
idiv ecx
mov eax, dword [esp + 0x50]
add eax, 0xafddfe82
xor dword [esp + 0x48], 0x8719e08b
xor dword [esp + 0x58], 0x131d07fd
shr esi, 0x1f
mov dword [esp + 0x60], 0x3bc16ebe
mov dword [esp + 0x68], 0x69100389
mov dword [esp + 0x70], 0x472a2f89
mov dword [esp + 0x40], edx
cdq
idiv ecx
mov eax, dword [esp + 0x78]
add eax, 0x63854d79
mov dword [esp + 0x50], edx
cdq
idiv ecx
mov eax, dword [esp + 0x80]
add eax, 0x88dfb136
mov dword [esp + 0x78], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x2c]
add ecx, 0x44596217
mov eax, 0x40000001
mov dword [esp + 0x80], edx
imul ecx
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7fffffff
sub ecx, eax
mov ebp, ecx
mov ecx, dword [esp + 0x2c]
add ecx, 0x445961fa
jmp 0x10003740
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x10], 0x88b6581c
xor ecx, 0xf8e45cab
jmp 0x10003690
mov eax, dword [esp + 0xf8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0xc